JDBC连接数据库小结
JDBC学习小结
1. JDBC(Java Data Base Connectivity,java数据库连接) 它是sun公司提供的一系列类和接口,提供给各大数据库厂商实现!
2. 所谓 数据库驱动 是指数据库厂商实现JDBC的字节码打包成的jar文件。
3. 通过放射Class.forName(“com.mysql.jdbc.Driver”); 加载数据库驱动到JVM中时
Driver类中静态块代码将mysql的Driver() 教给java中的DriverManager管理。
所以,通过下面DriverManager.getConnection()或的数据库连接。
Mysql Driver 静态块源码如下:
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
- 数据库操作具体流程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | //1.注册驱动 Class.forName( "com.mysql.jdbc.Driver" ); //2.获取数据库连接 String url = "jdbc:mysql://127.0.0.1:3366/数据库名称" ; String user = "root" ; String password = "111" ; conn = DriverManager.getConnection(url, user, password); //关闭事务的自动提交,开始事务 conn.setAutoCommit( false ); //3.定义SQL语句构架 String sql = "select job,ename,sal from emp_bak1 where job = ? for update" ; //4.进行SQL语句的预编译 ps = conn.prepareStatement(sql); //5.进行赋值 ps.setString( 1 , "MANAGER" ); //6.执行SQL语句 rs = ps.executeQuery(); //7.处理查询结果集 while (rs.next()){ String job = rs.getString( "job" ); String ename = rs.getString( "ename" ); double sal = rs.getDouble( "sal" ); System.out.println(job + " " + ename + " " + sal); } //提交事务 conn.commit(); //遇到异常 事务回滚 Conn.rollback(); |
- 从properties文件中读取数据库信息返回数据库连接工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import java.io.*; import java.sql.*; import java.util.*; /** * JDBC 工具类 自动加载comm/JDBC.properties 文件中的内容 * * @author * */ public class JDBCUtil { private static Connection conn = null ; public static Connection getConnection() { FileReader fr = null ; Properties pro = null ; try { // 从文件中读取数据库信息 fr = new FileReader( "comm/JDBC.properties" ); pro = new Properties(); pro.load(fr); fr.close(); String Driver = pro.getProperty( "Driver" ); String url = pro.getProperty( "url" ); String user = pro.getProperty( "user" ); String password = pro.getProperty( "password" ); // 通过反射机制将驱动加载到JVM中 Class.forName(Driver); // 通过DriverManager 返回数据库连接 conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { e.printStackTrace(); } return conn; } } ---------------------------------------------------------------------------------------------------------------------------------------------- Driver=com.mysql.jdbc.Driver url =jdbc:mysql: //localhost:3306/数据库名称 user =root password=root |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步