![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDBC
JDBC
weixin_54671087
这个作者很懒,什么都没留下…
展开
-
P55 dbutils类关闭资源的操作
dbutils类关闭资源的操作//关闭资源的操作:使用dbutils.jar中提供的DbUtils工具类,实现资源关闭public static void closeResource1(Connection conn, PreparedStatement ps, ResultSet rs){ DbUtils.closeQuietly(rs); DbUtils.closeQuietly(conn); DbUtils.closeQuietly(ps);}...原创 2021-12-18 14:59:34 · 509 阅读 · 0 评论 -
P53 QueryRunner的使用
QueryRunner实现添加数据的操作@Testpublic void testInsert() { Connection conn = null; try { QueryRunner runner = new QueryRunner(); conn = JDBCUtils1.getConnection2(); String sql="insert into customers(name,email,birth)values(?,?,?原创 2021-12-18 14:44:06 · 464 阅读 · 0 评论 -
P50 Druid数据库连接池的实现
Druid数据库连接池的实现@Test public void getConnection() throws Exception { Properties pros = new Properties(); InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("Druid.properties"); pros.load(is); DataS原创 2021-12-18 12:30:15 · 209 阅读 · 0 评论 -
P49 DBCP数据库连接池的两种实现方式
DBCP数据库连接池的两种实现方式//测试DBCP的数据库连接池技术public class DBCPTest { //方式一:不推荐 @Test public void testGetConnection() throws SQLException { //创建了DBCP的数据库连接池 BasicDataSource source=new BasicDataSource(); //设置基本信息 source.s原创 2021-12-18 11:14:17 · 673 阅读 · 0 评论 -
P47 C3P0数据库连接池的两种实现方式
C3P0数据库连接池的两种实现方式方式一//方式一:doc文件夹中index.html 中的quick star@Testpublic void testGetConnection() throws Exception { //获取C3P0数据库连接池 ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass( "com.mysql.cj.jdbc.Driver" ); //lo原创 2021-12-17 19:45:03 · 857 阅读 · 0 评论 -
P44CustomerDAO及CustomerDAOImpl的实现与测试
CustomerDAO及CustomerDAOImpl的实现/*此接口用于规范针对于customers表的常用操作 */public interface CustomerDAO { //将cust对象添加到数据库中 void insert(Connection conn, Customer cust); //根据指定的ID删除表中的一条记录 void deleteById(Connection conn,int id); //针对内存中的cust对象,去修原创 2021-12-17 16:41:43 · 286 阅读 · 0 评论 -
P42 提供操作数据表的BaseDAO
提供操作数据表的BaseDAO/*封装了针对于数据表的通用操作 */public abstract class BaseDAO { //通用的增删改操作的方法--- version 2.0(考虑数据库事务) public void update(Connection conn, String sql, Object ...args) {//占位符的个数与可变形参的长度一致 PreparedStatement ps = null; try {原创 2021-12-17 12:06:49 · 120 阅读 · 0 评论 -
P37 数据库事务原则及代码实现
考虑数据库事务的转账操作/*1.什么叫数据库事务?事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。 >一组逻辑操作单元:一个或多个DML操作2.事务处理的原则:保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都**被提交(commit)**,那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务**回滚(rollback)**到最初状态。3.数据一旦提交,就不可原创 2021-12-16 20:38:10 · 345 阅读 · 0 评论 -
P32 批量插入数据
批量插入数据//批量插入的方式二:使用preparedstatement@Testpublic void testInsert1() { Connection conn = null; PreparedStatement ps = null; try { conn = JDBCUtil.getConnection(); String sql="insert into goods(name) values(?)"; ps = co原创 2021-12-16 19:23:06 · 58 阅读 · 0 评论 -
P29 向表中插入Blob数据和读取表中的Blob类型数据
查询数据表customers中Blob类型的字段//查询数据表customers中Blob类型的字段@Testpublic void testQuery() { Connection conn = null; PreparedStatement ps = null; InputStream is= null; FileOutputStream fos= null; ResultSet rs = null; try { conn = JD原创 2021-12-16 17:02:35 · 64 阅读 · 0 评论 -
P28 PreparedStatement练习题
练习1 插入数据public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入用户名:"); String name = scanner.next(); System.out.println("输入邮箱:"); String email = scanner.next(); System.out.println("原创 2021-12-15 20:37:35 · 364 阅读 · 0 评论 -
P23 PreparedStatement实现针对于不同表的通用的查询操作
使用PreparedStatement实现针对于不同表的通用的查询操作@Testpublic void testGetForList(){ String sql="select id,name,email from customers where id<?"; List<Customer> list = getForList(Customer.class, sql, 12); list.forEach(System.out::println); Str原创 2021-12-15 17:20:46 · 75 阅读 · 0 评论 -
P17 PreparedStatement针对表的查询操作
针对于Customers表的查询操作@Testpublic void testQuery1() { Connection conn = null; PreparedStatement ps = null; ResultSet resultSet = null; try { conn = JDBCUtil.getConnection(); String sql="select id,name,email,birth from custom原创 2021-12-15 16:11:25 · 660 阅读 · 0 评论 -
P13 preparedstatement实现表数据的增删改操作
preparedstatement实现表数据的添加操作/*使用preparedstatement来替换statement,实现对数据表的增删改查操作增删改:查 */public class PreparedStatementUpdate { //向customers表中添加一条记录 @Test public void testInsert() { Connection conn = null; PreparedStatement ps =原创 2021-12-14 20:53:18 · 445 阅读 · 0 评论