MyBatis-CRUD
CRUD
1、namespace
UserMapper.xml中namespace的包名要和Dao/Mapper接口的报名一致!
2、select
选择:查询语句
- id:就是对应的namespace中的方法名
- resultType:SQL语句执行的返回值!
- parameterType:参数类型
UserMapper接口:
// 查询全部用户
List<User> getUsers();
// 根据ID查询用户
User getUserById(int id);
UserMapper.xml:
<!--select查询语句-->
<select id="getUsers" resultType="com.kuang.pojo.User">
select * from mybatis.user;
</select>
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
select * from mybatis.user where `id` = #{id};
</select>
UserTest:
@Test
public void test1(){
// 1.获取Session
SqlSession sqlSession = MybatisUtils.getSqlSession();
// 2.获取Mapper,执行sql
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
// 3.关闭资源
sqlSession.close();
}
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User id = mapper.getUserById(1);
System.out.println(id);
sqlSession.close();
}
增删改需要提交事物
3、insert
UserMapper接口:
// 插入一个用户
int addUser(User user);
UserMapper.xml:
<!--插入用户:对象中的属性,可以直接取出来-->
<insert id="addUser" parameterType="com.kuang.pojo.User">
insert into mybatis.user (`id`,`name`,`pwd`) values (#{id},#{name},#{pwd});
</insert>
UserTest:
@Test // 插入测试
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.addUser(new User(4, "家兴", "123456"));
if (res > 0){
System.out.println("插入成功");
}
// 提交事物
sqlSession.commit();
sqlSession.close();
}
4、update
UserMapper接口:
// 修改用户
int updateUser(User user);
UserMapper.xml:
<!--修改用户-->
<update id="updateUser" parameterType="com.kuang.pojo.User">
update mybatis.user set `name`= #{name},`pwd`=#{pwd} where `id`=#{id};
</update>
UserTest:
@Test // 修改测试
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.updateUser(new User(4, "jiaxing", "123321"));
if (res > 0){
System.out.println("修改成功");
}
// 提交事物
sqlSession.commit();
sqlSession.close();
}
5、delete
UserMapper接口:
// 删除用户
int deleteUser(int id);
UserMapper.xml:
<!--删除用户-->
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id};
</delete>
UserTest:
@Test // 删除测试
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int i = mapper.deleteUser(4);
if (i > 0){
System.out.println("删除成功");
}
// 提交事物
sqlSession.commit();
sqlSession.close();
}
注意点:
增删改需要提交事物!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!