版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h273979586/article/details/79864627
通过上一篇博客《MyBatis的入门介绍》我们了解了MyBatis基本原理
这篇我们就说说它的增删改查基本操作
实例应用
创建Java Product项目,目录结构如下:
数据库结构如下
conf.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/atguigu/day03_mybaits/test2/userMapper.xml"/>
</mappers>
</configuration>
userMapper.xml文件内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.day03_mybaits.test2.userMapper">
<insert id="addUser" parameterType="com.atguigu.day03_mybaits.test2.User">
INSERT INTO users(name,age) VALUE (#{name},#{age})
</insert>
<delete id="deleteUser" parameterType="int">
DELETE FROM users WHERE id=#{id}
</delete>
<update id="updateUser" parameterType="com.atguigu.day03_mybaits.test2.User">
UPDATE users set NAME=#{name},age=#{age} where id=#{id}
</update>
<select id="getUser" parameterType="int"
resultType="com.atguigu.day03_mybaits.test2.User">
select * from users where id=#{id}
</select>
<select id="getAllUsers" resultType="com.atguigu.day03_mybaits.test2.User">
SELECT * FROM users
</select>
</mapper>
Test2类添加方法
public void testAdd(){
//找配置文件和数据库连接
String resource = "conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
//创建SqlSessionFactory对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//openSession默认手动提交,里面参数为true默认自动提交
SqlSession session=factory.openSession();
//指定MyBatis执行的xml文件
String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
User u=new User();
u.setId(-1);
u.setName("KK");
u.setAge(23);
int insert=session.insert(statement,u);
//手动提交方式
session.commit();
System.out.println(insert);
}
Test2类更新方法
public void testUpdate(){
//找配置文件和数据库连接
String resource = "conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
//创建SqlSessionFactory对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//openSession默认手动提交,里面参数为true默认自动提交
SqlSession session=factory.openSession();
//指定MyBatis执行的xml文件
String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
User u=new User();
u.setId(5);
u.setName("KK");
u.setAge(25);
int insert=session.update(statement,u);
//手动提交方式
session.commit();
System.out.println(insert);
}
Test2类删除方法
public void testDelete(){
//找配置文件和数据库连接
String resource = "conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
//创建SqlSessionFactory对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//openSession默认手动提交,里面参数为true默认自动提交
SqlSession session=factory.openSession();
//指定MyBatis执行的xml文件
String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
int insert=session.delete(statement,5);
//手动提交方式
session.commit();
System.out.println(insert);
}
Test2类查找一条方法
public void testGetUser(){
//找配置文件和数据库连接
String resource = "conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
//创建SqlSessionFactory对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//openSession默认手动提交,里面参数为true默认自动提交
SqlSession session=factory.openSession();
//指定MyBatis执行的xml文件
String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
User u=session.selectOne(statement,1);
//手动提交方式
session.commit();
System.out.println(u);
}
Test2类查找全部方法
public void testGetAll(){
//找配置文件和数据库连接
String resource = "conf.xml";
InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
//创建SqlSessionFactory对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//openSession默认手动提交,里面参数为true默认自动提交
SqlSession session=factory.openSession();
//指定MyBatis执行的xml文件
String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
List<User>list=session.selectList(statement);
//手动提交方式
session.commit();
System.out.println(list);
}