当前位置: 首页 > 后端技术 > Java

Mybatis实现增删改查

时间:2023-04-02 01:31:34 Java

1、CRUD1.1namespace中的包名必须和Dao/mapper接口的包名一致。1.2select选择,查询语句id:是对应命名空间中的方法名resultType:Sql语句执行的返回值类型parameterType:写入接口UsergetUserById(intid)的参数类型;在接口对应的Mapper中写语句select*frommybatis.userwhereid=#{id}Test:@TestpublicvoidgetUserById(){//获取sqlSession对象SqlSessionsqlsession=MybatisUtil.getSqlsession();//执行SQLUserMappermapper=sqlsession.getMapper(UserMapper.class);用户user=mapper.getUserById(1);System.out.println(用户);//关闭sqlSessionsqlsession.close();}1.3插入插入到mybatis.user(id,name,pwd)values(#{id},#{name},#{pwd})1.4update更新temybatis.usersetname=#{name},pwd=#{pwd}whereid=#{id}1.5deletedeletefrommybatis.userwhereid=#{id}注意事项:增删改查需要提交事务。错误:不匹配标签。错误:例如:select语句必须写在select标签中。规格!NullPointException,未注册到资源!输出的xml文件存在中文乱码问题。maven资源未导出!不能包含mybatis核心配置文件中的mapper映射器路径。需要用/代替2、Map和模糊查询扩展2.1假设我们实体类太多,或数据库中的表、字段或参数,我们应该考虑使用Map!insertintomybatis.user(id,name,pwd)values(#{userId},#{userName},#{userPwd})publicvoidaddUser2(){//获取sqlSession对象SqlSessionsqlsession=MybatisUtil.getSqlsession();UserMapper映射器=sqlsession.getMapper(UserMapper.class);HashMapuserMap=newHashMap();你serMap.put("userId",10);userMap.put("用户名","11234");userMap.put("userPwd","1234343");intresult=mapper.addUserMap(userMap);if(result>0){System.out.println("插入成功");}//提交事务sqlsession.commit();//关闭sqlsessionsqlsession.close();}Map传递参数,在sql中直接取出对象即可对象传递参数,在sql中直接获取对象的属性即可。如果只有一个基本类型参??数,直接在sql中获取即可!对多个参数使用Map或注解!2.2模糊查询1、Java代码执行时,传通配符%%ListuserLike=mapper.getUserLike("%李%");2.在sql拼接中使用通配符!select*frommybatis.userwherenamelike"%"#{value}"%"