JDBC连接Mysql
文章目录
- JDBC
-
- 导入驱动jar包
JDBC
ODBC:
开放式数据库连接(ODBC,Open DataBase Connectivity)是Microsoft提供的应用程序程序(Appliction Programming Interface,API),用于访问数据库
JDBC:
JDBC(Java Database Connectivity,Java数据库连接)是一种可用于执行SQL语句的Java API(Appoliation Programming Interface,应用程序设计接口)
JDBC的发展:
第一个版本(JDBC-ODBC):
JDBC-ODBC,java程序去连接ODBC,完成数据库操作(桥接)
第二个版本(JDBC本地API):
本地API连接(利用数据库本身的一组API)
第三个版本(JDBC-NET 纯java驱动):
网络API连接(利用中间接技术,操作数据库)
第四个版本(本地协议纯java驱动):
纯java驱动(全部由java程序,完成操作)
数据查询步骤:
//步骤1:加载驱动(mysql)Class.forName("com.mysql.jdbc.Driver");//SQL Server 连接:com.microsoft.sqlserver.jdbc.SQLServerDriver//Oracle 连接:oracle.jdbc.driver.OracleDriver//步骤2:得到连接 Connection conn =DriverManager.getConnection("连接字符串", "用户名","密码");//连接字符串:/*jdbc:mysql://localhost:3306/数据库名?characterEncoding=UTF-8解释:jdbc:mysql:使用jdbc连接mysql数据库localhost: 表示本机3306:表示端品号characterEncoding=UTF-8:表示解决mysql乱码的问题*///步骤3:得到执行sql语句的对象(Statement有sql漏洞的问题)PreparedStatement pstmt = conn.prepareStatement("sql语句");//参数的地方用?号表示//设置参数pstmt.setxxxx(序号,值);//xxx是具体的数据类型,如设置字符串参数用setString()//步骤4:执行查询ResultSet rs = pstmt.executeQuery();//取多行数据while(rs.next()){//移动到下一条数据 //取具体列的数据 rs.getxxxx("字段名"或下标);//xxx是具体的数据类型,如取字符串用getString()}//取一条数据或判断是否有数据if(rs.next()){//有查询到数据......取rs.getxxxx()}else{//没有查询到数据....}//步骤5:关闭rs.close();pstmt.close();conn.close();
增、删、改步骤:
//步骤1:加载驱动Class.forName("com.mysql.jdbc.Driver");//步骤2:得到连接Connection conn =DriverManager.getConnection("连接字符串", "用户名","密码");//步骤3:得到执行sql语句的对象PreparedStatement pstmt = conn.prepareStatement("sql语句");//设置参数pstmt.setxxxx(序号,值);//步骤4:执行 insert update deleteint 变量名 = pstmt.executeUpdate();//返回受影响的行数(int)//步骤5:关闭pstmt.close();conn.close();if(row>=1){//成功....}else{//失败.........}
数据库帮助类
import java.sql.*;/** * mysql帮助类 */public class ConnDB { /** * 打开连接 * @return */ public static Connection getConn(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/BookDB?characterEncoding=UTF-8","root","123456"); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 关闭连接 */ public static void closeDB(ResultSet rs, PreparedStatement pstmt,Connection conn){ try { if(rs != null){ rs.close(); } } catch (SQLException throwables) { throwables.printStackTrace(); } try { if(pstmt != null){ pstmt.close(); } } catch (SQLException throwables) { throwables.printStackTrace(); } try { if(conn != null){ conn.close(); } } catch (SQLException throwables) { throwables.printStackTrace(); } }}
导入驱动jar包
注:加载驱动之前应先导入驱动jar包
点击下载
如图所示:
解压如图所示:
在项目中新建文件夹lib将上面的jar包复制到lib中
lib --> 右键 --> add as Library…
jar包导入成功!