La API JDBC permite a los usuarios acceder a cualquier forma de datos de tabla, especialmente los datos almacenados en la base de datos de relaciones.
Proceso de ejecución:
• Conecte la fuente de datos, como: base de datos.
• Las consultas de aprobación de la base de datos y las instrucciones de actualización.
• Los resultados de la respuesta y retorno de la base de datos.
Arquitectura JDBC
Dividido en una arquitectura de doble capa y una arquitectura de tres capas.
Plantilla
Función: En esta arquitectura, Java Applet o APP accede directamente a la fuente de datos.
Condición: El controlador debe interactuar con la base de datos accesible.
Mecanismo: el comando de usuario se transmite a la base de datos u otras fuentes de datos, y se devuelve el resultado.
Implementación: la fuente de datos se puede conectar a través de la red en otra máquina, llamada configuración C/S (puede ser una red interna o Internet).
Tres capas
La característica especial de la arquitectura lateral es que se introduce el servicio intermedio.
Proceso: los comandos y estructuras pasarán a través de esta capa.
Atracción: puede aumentar el control de acceso de los datos corporativos y la actualización de varios tipos;
Tendencia histórica: en el pasado, debido a los problemas de rendimiento, la capa intermedia se escribió en C o C ++. Java comenzó a usarse en el medio para el desarrollo intermedio El desarrollo de la capa también ha hecho las ventajas de destacar Java.
Pasos de programación JDBC
Cargue el controlador:
Class.forname (DriverClass) // Cargue el controlador MySQL class.forname ("com.mysql.jdbc. Driver") // Cargue Oracle Drive Class.forname ("Oracle.jdbc.oracledriver" Cure
Obtenga la conexión de la base de datos:
Copiar código del código de la siguiente manera:
Drivermanager.getConnection ("JDBC: mysql: //127.0.0.1: 3306/imooc", "root", "root");
Cree el objeto Declary/PrepareStatement:
Copiar código del código de la siguiente manera:
Conn.CreateStatement ();
const.preparestatement (SQL);
Instancia completa
Import java.sql.connection; "; Public static final string user =" liulx "; public static final string contraseña =" 123456 "; public static void main (string [] args) lanza la excepción { / / / / 1. Cargue el controlador class.forname (" com .mysql .jdbc.driver "); // 2. Obtenga la conexión de la base de datos Connection conn = drivermanager.getConnection (url, usuario, contraseña); // 3. Operar la base de datos para lograr adicionales, eliminar la declaración STMT = Conn. .CreateStateMet (); .println (rs.getStringString ("user_name")+"edad:"+rs.getInt ("edad");}}}
Adición, eliminación y cambio
Public Class DButil {Public Static Final String url = "jdbc: mysql: // localhost: 3306/imooc"; controlador de controladores ("com.mysql.jdbc.driver"); ();} Catch (SqLException e) {E.PrintStackTrace ();}} Conexión estática pública () {) girar conn;}} // paquete de modelo liulx.model; ID de entero; Método Getter Setter. Esencia Esencia } // --------- dao 层 -------------- Paquete liulx.dao; import liulx.db.dbutil; import liulx.model.goddess; import java. Sql.connection; AddGoddess (Goddess g) lanza SQLException {// Get Connect Connect conn = dButil.getConnection (); // sql string sql = "insertar imooc_goddess, cumpleaños, correo electrónico, móvil,"+"create_user, create_date, update_user, update_date, isDel) " +" Valores (" +"?,?,?,?,?,?,?, Current_date (),?, Current_date (),?) "; PrepareStatement (sql); // pre -compilación a Reduzca la ejecución de SQL // pase Ptmt.SetString (1, g.getuser_name ()); ; )); = dButil.getConnection (); // sql, cada fila agrega sql vacía = "actualizar IMOC_GODESS" + "Establecer ER_NAME =?, Sex =?, Age =?, Birthday =?, correo electrónico =?, mobile =?," +"Update_user =?, Update_date = current_date (), isdel =?"+"Donde id =?"; .Getuser_name ()); (8, g.getisDel ()); ); / SQL, cada fila agrega un aire. Lista pública <Doddess> Query () lanza {Connection conn = dButil.getConnection (); ); .add (g);} return gs;} Public Goddess get () {Goddess g = null; Conn.Preparestatement (SQL); .SetId (rs.getInt ("id"); g.setuser_name (rs.getString ("user_name"); g.setage (rs.getInt ("edad")); seetsex (rs.getInt ("sexo"); G.SetBirthday (rs.getDate ("cumpleaños"); g.setEmail (rs.getString ("correo electrónico"); g.setMobile (rs. getString ("móvil"); g.setcreate_date (rs.getDate ("create_date" ). }}