JDBC创建数据库基本连接
//1.加载驱动程序
Class.forName(driveName);
//2.获得数据库连接
Connection connection = DriverManager.getConnection(dbResource,username,password);
//
String sql = "";
//3.获得SQL处理语句
Statement statement = connection.createStatement();
PreparedStatement preparedStatement = connection.prepareStatement(sql); //更为安全
//4.获得SQL执行结果intint
boolean result1 = statement.execute(sql); //执行
int result2 = statement.executeUpdate(sql); //执行更新
ResultSet resultSet = statement.executeQuery(sql);//查询
DBUtil设计
关键问题
+ 通过JDBC实现对数据库记录的增、删、查、改。
+ 如何高效利用好数据库与服务器之间实现通信的有限的数据库连接资源?
答案:JDBC+数据库连接池。
备注:
1.每创建一Connection类对象,就是占用一条连接资源。
2.更佳的设计,可参考开源工具C3P0数据库连接池解决方案。
ComboPooledDataSource pool = new ComboPooledDataSource(“demo”);
//pool.setUser("johnny");// (重新)设置用户姓名
//pool.setPassword("123456");// 用户密码
//pool.setJdbcUrl("databaseUrl");// MySQL数据库连接url
//pool.setDriverClass("com.mysql.jdbc.Driver");
//若是空参,自动到classpath目录下面加载“c3p0-config.xml”配置文件,若是maven项目,则放置于/resources目录下---配置文件的存储位置和名称必须是这样,且使用“默认配置”
Connection con = pool.getConnection();
//连接关闭之后,内存会被释放,下次取时会重新开(内存地址不共用)
另,推荐Apache开源工具Commons DBUtils:对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。
+ 如何设计架构良好(可扩展性好、高内聚低耦合、代码重用度高等)DAO(Database Access Object)层?</