通过IDEA的测试类实现对数据库的增删改查
1. 之前通过连接池实现了IDEA与数据库之前信息的交互,今天就在之前的提前下,通过IDEA的测试类实现对数据库基本的增删改查操
作。
2. 在IDEA上新建⼀个测试类TestDbUtil
public class TestDbUtil {
@Test
public void testConnection(){
try{
}catch(Exception e){
e.printStackTrace();
}
}
通过try…catch连接池抛出的异常。
1. 对数据库进⾏插⼊操作
@Test
public void testInsert(){
try{
Connection conn =Connection();
String sql ="INSERT INTO band(name,remark) VALUES(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);//将sql语句传递给该对象,并将其放⼊变量中
pstmt.setString(1,"软⼯1班");//这⾥放的是字符串的数据
pstmt.setString(2,"备注信息");
int result = uteUpdate();//执⾏pstmt对象,对其返回的boolean值进⾏判断
System.out.println(result);
if(result >0){
System.out.println("添加成功");
}else{
System.out.println("添加失败");
}
pstmt.close();
conn.close();//使⽤完,将其关闭,避免浪费资源
}catch(Exception e){
e.printStackTrace();
}
}
注意:尽量将sql关键字和它的表名,列名⽤⼤⼩写相区分开来。
Sql varchar型对应java中的String型。
2. 对数据库进⾏修改操作
String sql ="UPDATE band SET name=?,remark=? where id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);//将sql语句传递给该对象,并将其放⼊变量中            pstmt.setString(1,"软⼯2班");//这⾥放的是字符串的数据
pstmt.setString(2,"备注信息2");
pstmt.setInt(3,1);
int result = uteUpdate();//执⾏pstmt对象,对其返回的boolean值进⾏判断
System.out.println(result);
if(result >0){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
pstmt.close();
conn.close();//使⽤完,将其关闭,避免浪费资源
}catch(Exception e){
e.printStackTrace();
}
}
3. 对数据库进⾏删除操作
@Test
public void testDelete(){
try{
Connection conn =Connection();
String sql ="DELETE FROM band where id=?";
基本的增删改查语句PreparedStatement pstmt = conn.prepareStatement(sql);//将sql语句传递给该对象,并将其放⼊变量中            pstmt.setInt(1,2);
int result = uteUpdate();//执⾏pstmt对象,对其返回的boolean值进⾏判断
System.out.println(result);
if(result >0){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
pstmt.close();
conn.close();//使⽤完,将其关闭,避免浪费资源
}catch(Exception e){
e.printStackTrace();
}
}
4. 查数据库中所有数据
String sql ="SELECT * FROM band ";
PreparedStatement pstmt = conn.prepareStatement(sql);//将sql语句传递给该对象,并将其放⼊变量中            ResultSet rs = uteQuery();//返回结果集
()){
int id =rs.getInt("id");//游标⼀条⼀条往下查,如果存在将它读取出来
String name =rs.getString("name");
String remark =rs.getString("remark");
System.out.println(id+","+name+","+remark);
}
rs.close();
pstmt.close();
conn.close();//使⽤完,将其关闭,避免浪费资源
}catch(Exception e){
e.printStackTrace();
}
}
6. 查数据库中单个数据(以查姓名带2的为例)
@Test
public void testFindByName(){
try{
Connection conn =Connection();
String sql ="SELECT * FROM band where name LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);//将sql语句传递给该对象,并将其放⼊变量中            pstmt.setString(1,"%2%");
ResultSet rs = uteQuery();//返回结果集
()){
int id =rs.getInt("id");//游标⼀条⼀条往下查,如果存在将它读取出来
String name =rs.getString("name");
String remark =rs.getString("remark");
System.out.println(id+","+name+","+remark);
}
rs.close();
pstmt.close();
conn.close();//使⽤完,将其关闭,避免浪费资源
}catch(Exception e){
e.printStackTrace();
}
}
}
以上⼏种操作与插⼊操作⼤同⼩异,只是修改了SQL语句和代码罢了,不做多余的解释。
最后附上这些代码所⽤到的数据库⾥的表:
band表
希望⾃⼰多少有点收获吧。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。