当前位置:Gxlcms > 数据库问题 > JDBC学习2.0——数据库表的增删改查

JDBC学习2.0——数据库表的增删改查

时间:2021-07-01 10:21:17 帮助过:14人阅读

解决办法:?characterEncoding=utf8 在连接的数据库后加入这个语句设置编码集为utf8然后建立数据库表时把它的字符集也设置为utf8

技术图片

 

 

 

 

 

技术图片

 

 

②数据库的修改操作(和上面类似所以简写)

         1.获取connection对象

          2.给出sql语句,切记占位符的使用

          3.获取preparestatement对象,封装预编译sql语句

          4.填充占位符

          5.执行操作

          6.资源关闭

 


 

从上述的插入和修改不难看出,有几个步奏是重复的且一样的,就是.获取connection对象,就是重复且一样的我们可以把它放在一个工具类的静态方法中,以供调用

技术图片

 

 方法一方法二都是获取一个connection对象,在这没区别;(ClassLoader.getSystemClassLoader().getResourceASStream("文件名"),在这和之前讲的第五种方法中的获取流的方式是一样的;


 

③数据库的删除

技术图片

 

 和上面两个操作一样,只是换了sql语句;

 

④为了方便我们可以设置一个方法,只给这个方法要具体操作的sql语句,和数据,就可以对数据库进行增删改通用操作;

技术图片

 

       方法参数1设置为String类型,是放sql语句的,方法的参数二是用来放具体需要填写的占位符号,因为占位符不同sql语句个数不同,所以在这的参数二的写法就理解为一个未知长度的object类型的数组;

1.先是获取connection对象连接数据库;

2.获取prepared statement对象用来预编译传入的sql语句;

3.利用一个循环,循环条件就是这个数组的长度,因为占位符号从1开使,所以setobject第一个参数要加1,数组从0开始,后面那个就没必要了

4.执行操作,关闭资源;

 

 

 

⑤数据库的查找

技术图片

数据库的查询操作相交于增删改有区别,因为查找需要返回一个查找结果,而增删改不用,所以也更复杂一些;

1.还是一样的获取connectiong连接对象

2.预编译sql语句,将其封装在preparedstatement对象中;

3.(区别开始)这不再是简单的运行,而是调用executeQuery,运行后返回一个查找结果对象,用resultset来接受;

4.调用返回结果的next方法,此方法表示如果有查询结果就返回true并指向下一条,如果下一条没有结果就返回false;

5.调用get+类型名 方法返回结果,下图是对应结果图;

技术图片

 

 

6.一般把返回结果封装在对象中,我们返回一个对象,这样的方法更好;

技术图片

 

 就像图所示一样,把表的列作为java类,表的列作为类的属性,而一条查询结果就作为一个实例对象,到时候直接返回对象就好;

技术图片

 

 这是对应studnet的对象类

 

这是输出结果(记得重写tostring方法;)

技术图片

 

JDBC学习2.0——数据库表的增删改查

标签:under   character   需要   mamicode   技术   encoding   string类   loading   string   

人气教程排行