博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis中的增删改查操作
阅读量:6690 次
发布时间:2019-06-25

本文共 10718 字,大约阅读时间需要 35 分钟。

在这一个部分,主要进行增删改查的示例书写。

增删改查可以基于xml的,也可以基于注解的方式。

一:对单条数据的查询

1.目录结构

  这个使得目录更加清晰

  

 

2.User.java

  这个使用以前的user表。

  因此,domain不需要改动。

 

3.配置文件

  重要的参考部分是引用映射文件的部分

1 
2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 19
20
21
22 23

 

4.映射文件

1 
2 5 6
7
8
9
10
11
12
13
16

 

5.测试类

  这个对于加载的配置文件的方式不同,稍微有点区别,顺便整理一下。

1 package com.cao.test1; 2  3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.Reader; 6  7 import org.apache.ibatis.io.Resources; 8 import org.apache.ibatis.session.SqlSession; 9 import org.apache.ibatis.session.SqlSessionFactory;10 import org.apache.ibatis.session.SqlSessionFactoryBuilder;11 import org.junit.Test;12 13 import com.cao.bean.User;14 /**15  * 这是一个对比程序16  * 当然也是一个根据条件,进行单条查询的程序17  * @author dell18  *19  */20 public class mainTest {21     /**22      * 查询单条数据23      * 根据id进行查询24      * @throws Exception25      */26     @Test27     public void testSelectOne1() throws Exception {28         String resources="/com/cao/config/Configuration.xml";       //这种方式在前面需要加一个/29         InputStream is=mainTest.class.getResourceAsStream(resources);30         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);31         SqlSession sqlSession=sqlSessionFactory.openSession();32         String statement="quickFirst.selectUserOne";33         User user=sqlSession.selectOne(statement, 1);34         System.out.println(user);35     }36     @Test37     public void testSelectOne2() throws Exception {                    这种方式在前面不需要添加38         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");39         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);40         SqlSession sqlSession=sqlSessionFactory.openSession();41         String statement="quickFirst.selectUserOne";42         User user=sqlSession.selectOne(statement, 2);43         System.out.println(user);44     }45 }

 

二:插入数据

1.xml

1 
2
3 INSERT INTO USERS(name,age) value(#{name},#{age});4

 

2.测试程序

1 /** 2      * 插入数据 3      */ 4     @Test 5     public void testInsert()throws Exception { 6         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml"); 7         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); 8         SqlSession sqlSession=sqlSessionFactory.openSession(); 9         String statement="quickFirst.insertData";10         int insert=sqlSession.insert(statement, new User(-1,"KK",9));11         sqlSession.commit();12         System.out.println(insert);13         sqlSession.close();14     }

 

3.效果

  打印出1,表示插入一条数据。

  

  数据库:

  

 

三:删除数据

1.xml

1 
2
3 DELETE FROM USERS where id=#{id};4

 

2.测试程序

1 /** 2      * 删除数据 3      */ 4     @Test 5     public void testDelete()throws Exception { 6         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml"); 7         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); 8         SqlSession sqlSession=sqlSessionFactory.openSession(); 9         String statement="quickFirst.deleteData";10         int delete=sqlSession.delete(statement, 4);11         System.out.println(delete);    12         sqlSession.commit();13         sqlSession.close();14     }

 

3.效果

  打印出1,表示删除一条数据。

  

  数据库:

  

 

四:更新数据

1.xml

1 
2
3 UPDATE USERS set name=#{name},age=#{age} where id=#{id};4

 

2.测试类

1 /** 2      * 更新数据 3      */ 4     @Test 5     public void testUpdate()throws Exception{ 6         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml"); 7         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); 8         SqlSession sqlSession=sqlSessionFactory.openSession(); 9         String statement="quickFirst.updateData";10         int update=sqlSession.update(statement, new User(3,"TT",99));11         sqlSession.commit();12         System.out.println(update);13         sqlSession.close();14         15     }

 

3.效果

  打印1,表示更新一条数据。

  

  数据库:

  

五:完整程序

1.xml

1 
2 5 6
7
8
9
10
11
12 13
14
17 18
19
20 INSERT INTO USERS(name,age) value(#{name},#{age});21
22 23
24
25 DELETE FROM USERS where id=#{id};26
27 28
29
30 UPDATE USERS set name=#{name},age=#{age} where id=#{id};31
32

 

2.测试类

1 package com.cao.test1; 2  3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.Reader; 6 import java.sql.Connection; 7  8 import org.apache.ibatis.io.Resources; 9 import org.apache.ibatis.session.Configuration;10 import org.apache.ibatis.session.ExecutorType;11 import org.apache.ibatis.session.SqlSession;12 import org.apache.ibatis.session.SqlSessionFactory;13 import org.apache.ibatis.session.SqlSessionFactoryBuilder;14 import org.apache.ibatis.session.TransactionIsolationLevel;15 import org.junit.Test;16 17 import com.cao.bean.User;18 /**19  * 这是一个对比程序20  * 当然也是一个根据条件,进行单条查询的程序21  * @author dell22  *23  */24 public class mainTest {25     /**26      * 查询单条数据27      * 根据id进行查询28      * @throws Exception29      */30     @Test31     public void testSelectOne1() throws Exception {32         String resources="/com/cao/config/Configuration.xml";       //这种方式在前面需要加一个/33         InputStream is=mainTest.class.getResourceAsStream(resources);34         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);35         SqlSession sqlSession=sqlSessionFactory.openSession();36         String statement="quickFirst.selectUserOne";37         User user=sqlSession.selectOne(statement, 1);38         System.out.println(user);39     }40     @Test41     public void testSelectOne2() throws Exception {                    这种方式在前面不需要添加42         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");43         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);44         SqlSession sqlSession=sqlSessionFactory.openSession();45         String statement="quickFirst.selectUserOne";46         User user=sqlSession.selectOne(statement, 2);47         System.out.println(user);48     }49     /**50      * 插入数据51      */52     @Test53     public void testInsert()throws Exception {54         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");55         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);56         SqlSession sqlSession=sqlSessionFactory.openSession();57         String statement="quickFirst.insertData";58         int insert=sqlSession.insert(statement, new User(-1,"KK",9));59         sqlSession.commit();60         System.out.println(insert);61         sqlSession.close();62     }63     /**64      * 删除数据65      */66     @Test67     public void testDelete()throws Exception {68         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");69         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);70         SqlSession sqlSession=sqlSessionFactory.openSession();71         String statement="quickFirst.deleteData";72         int delete=sqlSession.delete(statement, 4);73         System.out.println(delete);    74         sqlSession.commit();75         sqlSession.close();76     }77     /**78      * 更新数据79      */80     @Test81     public void testUpdate()throws Exception{82         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");83         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);84         SqlSession sqlSession=sqlSessionFactory.openSession();85         String statement="quickFirst.updateData";86         int update=sqlSession.update(statement, new User(3,"TT",99));87         sqlSession.commit();88         System.out.println(update);89         sqlSession.close();90         91     }92     93 }

 

六:基于注解的增删改查

1.目录

  

 

2.接口

1 package com.cao.test1; 2  3 import java.util.List; 4  5 import org.apache.ibatis.annotations.Delete; 6 import org.apache.ibatis.annotations.Insert; 7 import org.apache.ibatis.annotations.Select; 8 import org.apache.ibatis.annotations.Update; 9 10 import com.cao.bean.User;11 12 public interface UserMapper {13     @Insert("INSERT INTO USERS(name,age) value(#{name},#{age})")14     public int add(User user);15     16     @Delete("DELETE FROM USERS where id=#{id}")17     public int delete(int id);18     19     @Update("UPDATE USERS set name=#{name},age=#{age} where id=#{id}")20     public int update(User user);21     22     @Select("SELECT * From users where id = #{id}")23     public User selectById(int id);24     25     @Select("SELECT * From users")26     public List
select();27 }

 

3.xml

  重要的是需要将接口注册进去

1 
2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 19
20
21
22 23

 

4.测试类

1 package com.cao.test; 2  3 import java.io.IOException; 4 import java.io.Reader; 5  6 import org.apache.ibatis.io.Resources; 7 import org.apache.ibatis.session.SqlSession; 8 import org.apache.ibatis.session.SqlSessionFactory; 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;10 import org.junit.Test;11 12 import com.cao.bean.User;13 import com.cao.test1.UserMapper;14 15 public class MainTest {16     @Test17     public void test1() throws Exception {18         Reader reader=Resources.getResourceAsReader("com/cao/config/Configuration.xml");19         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);20         SqlSession sqlSession=sqlSessionFactory.openSession(true);                //true后是自动提交21         UserMapper userMapper=sqlSession.getMapper(UserMapper.class);22         int add=userMapper.add(new User(-1,"TT",89));23         System.out.println(add);24         sqlSession.close();25     }26 }

 

5.效果

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://vahao.baihongyu.com/

你可能感兴趣的文章
一次小***处理
查看>>
Nginx配置文件nginx.conf中文详解
查看>>
linux anaconda kickstart基础
查看>>
DITA vs DocBook
查看>>
调整Outlook 2010的pst文件大小
查看>>
python笔记二 基础
查看>>
nohup /dev/null 2>&1 含义详解
查看>>
Micropython教程之TPYBoard DIY超声波测距仪实例演示
查看>>
我的友情链接
查看>>
mysqlbinlog 使用
查看>>
RHCS中GFS2共享存储扩容
查看>>
Excel如何把非打印区域设置成灰色
查看>>
条件语句整理
查看>>
Office365 SKU-1
查看>>
汉语国际传播思索
查看>>
TODO:排列组合问题:n个数中取m个
查看>>
27.chown更换所有者
查看>>
grep、egrep以及正则表达式的使用
查看>>
rsync加inotify实现无间隔文件同步
查看>>
系统最小化安装后,使用命令时提示“command not found”
查看>>