增删改查的实现
进阶
CRUD
1.namespace
namespace中的包名要和mapper接口的报名一致
2.select
-
选择,查询语句
-
id:就是namespace方法名字
-
resultType:SQL语句执行的返回值
-
parmeterType:参数类型
1.编写接口
public interface UserMapper { //查询所有用户 List<User> getUserList(); //跟据ID 查询一个用户 User getUserById(int id); //insert一个用户 int addUser(User user); //修改用户 int upsateUser(User user); //删除一个用户 int deleteUser(int id);}
2.编写对应的mapper中的SQL语句
<mapper namespace="com.kuang.dao.UserMapper"> <!--select 查询语句--> <select id="getUserList" 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}/*#id是可变的参数*/ </select>
3.测试
public class UserDaoTest { @Test/*查看所有*/ public void test() { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper userDao = sqlSession.getMapper(UserMapper.class); List<User> userList = userDao.getUserList(); for (User user : userList) { System.out.println(user); } sqlSession.close(); } @Test/*查看指定的*/ public void getUserById(){ SqlSession sqlSession = MybatisUtils.getSqlSession();/*获取执行SQL的对象*/ UserMapper mapper = sqlSession.getMapper(UserMapper.class);/*获取UserMaper的对象*/ User userById = mapper.getUserById(1); System.out.println(userById); sqlSession.close(); } @Test public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int haha = mapper.addUser(new User(4, "haha","d")); if(haha!=0) { System.out.println("成功改动了"+haha+"个点"); } sqlSession.commit();/*增删改需要提交事务*/ sqlSession.close(); } @Test/*修改一个内容*/ public void upsateUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.upsateUser(new User(4, "狗蛋", "123456")); sqlSession.commit(); sqlSession.close(); } @Test public void deletdUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.deleteUser(4); if (i>0){ System.out.println("成功删除id为"+i+"的用户"); } sqlSession.commit(); sqlSession.close(); }
3.insert
<!--对象中的属性可直接去除--><insert id="addUser" parameterType="com.kuang.pojo.User"> insert into mybatis.user (id,name,pwd) value(#{id},#{name},#{pwd})</insert>
4.update
<update id="upsateUser" parameterType="com.kuang.pojo.User"> update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id} </update>
5.delete
<delete id="deleteUser" parameterType="int"> delete from mybatis.user where id=#{id} </delete>
注意点:
增删改需要提交事务
本文作者:我是小杨
本文链接:https://www.cnblogs.com/Liguangyang/p/12710195.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步