Mybatis 增删改查实现
在已经实现前面的代码例子后
后续我们只需要修改接口,mapper配置文件,主程序就可以了
实现查询功能
接口:
package dao;
import pojo.User;
import java.util.List;
public interface UserDao {
List<User> getUserList();
//根据ID查询用户
User getUserByid(int id);
}
配置文件
<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
<!--select id 对应方法名字-->
<select id="getUserList" resultType="pojo.User">
select * from mybatis.user
</select>
<select id="getUserByid" resultType="pojo.User" parameterType="int">
<!--#{id}就是接口方法的参数名字-->
select * from mybatis.user where id=#{id}
</select>
</mapper>
主程序
import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;
import java.util.List;
public class Mytest {
@Test
public void test(){
//获取sqlSession
SqlSession sqlSession = MybatisUtiles.getSqlSession();
//执行Sql语句
//方法一
UserDao mapper = sqlSession.getMapper(UserDao.class);
// List<User> userList = mapper.getUserList();
// for (User user : userList) {
// System.out.println(user);
// }
User user = mapper.getUserByid(1);
System.out.println(user);
//关闭
sqlSession.close();
}
}
实现添加功能
接口
package dao;
import pojo.User;
import java.util.List;
public interface UserDao {
List<User> getUserList();
//根据ID查询用户
User getUserByid(int id);
void addUser(User user);
}
配置文件
<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
<!--select id 对应方法名字-->
<select id="getUserList" resultType="pojo.User">
select * from mybatis.user
</select>
<select id="getUserByid" resultType="pojo.User" parameterType="int">
select * from mybatis.user where id=#{id}
</select>
<select id="addUser" parameterType="pojo.User">
<!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
</select>
</mapper>
主程序
import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;
import java.util.List;
public class Mytest {
@Test
public void test(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user=new User(3,"小a同学","123456");
mapper.addUser(user);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
}

实现修改功能
接口
void updateUser(User user);
配置文件
<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
<!--select id 对应方法名字-->
<select id="getUserList" resultType="pojo.User">
select * from mybatis.user
</select>
<select id="getUserByid" resultType="pojo.User" parameterType="int">
select * from mybatis.user where id=#{id}
</select>
<select id="addUser" parameterType="pojo.User">
<!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
</select>
<select id="updateUser" parameterType="pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
</select>
</mapper>
主程序
import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;
import java.util.List;
public class Mytest {
public void test(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user=new User(3,"小a同学","123456");
mapper.addUser(user);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
@Test
public void Update(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user=new User(3,"小b同学","123456");
mapper.updateUser(user);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
}

实现删除功能
接口
void deleteByid(int id);
配置文件
<?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">
<!--namespace对应接口名字-->
<mapper namespace="dao.UserDao">
<!--select id 对应方法名字-->
<select id="getUserList" resultType="pojo.User">
select * from mybatis.user
</select>
<select id="getUserByid" resultType="pojo.User" parameterType="int">
select * from mybatis.user where id=#{id}
</select>
<select id="addUser" parameterType="pojo.User">
<!--由于对象有设置标准的getset方法 可以直接使用属性表示-->
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
</select>
<select id="updateUser" parameterType="pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
</select>
<select id="deleteByid" parameterType="int" >
delete from mybatis.user where id=#{id};
</select>
</mapper>
主程序
import dao.UserDao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import pojo.User;
import utiles.MybatisUtiles;
import java.util.List;
public class Mytest {
public void test(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user=new User(3,"小a同学","123456");
mapper.addUser(user);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
public void Update(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user=new User(3,"小b同学","123456");
mapper.updateUser(user);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
@Test
public void Delete(){
SqlSession sqlSession = MybatisUtiles.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.deleteByid(3);
//如果没有自动提交事务需要这句语句 sqlSession.commit();
sqlSession.close();
}
}

浙公网安备 33010602011771号