MyBatis的CRUD
在阅读本文前请保证您已经学会配置MyBatis,前情请看:
https://blog.csdn.net/weixin_45434953/article/details/129938319
首先namespace中的包名要和dao/mapper接口的包名一致
select语句:
用于选择和查询,我们看一个根据指定id查询数据库中指定用户的xml语句
首先在UserDao中添加一个getUserById方法
User getUserById(String id);
然后修改xml
<select id="getUserById" parameterType="java.lang.String" resultType="com.hch.pojo.User">select * from mybatis.user where id=#{id}</select>
- id指明的是映射dao类中的哪个方法
- resultType表示Sql语句执行的返回值
- parameterType表示的是参数的类型,指的是传入到sql中的参数,上面例子需要传入的参数是String类型的id
在SQL语句中,可以使用#{parameter}的方式传入参数,参数名字应该和Dao层中的查询函数的参数保持一致
insert语句
int insertUser(User user);
<insert id="insertUser" parameterType="com.hch.pojo.User">insert into mybatis.user(id, name, pws) value (#{id}, #{name}, #{pws})</insert>
虽然dao层中使用的insertUser的参数是一个User对象,但是mybatis在mapper.xml中完成自动匹配,将传入的user对象中的id,name,pws属性和#{id}, #{name}, #{pws}对应起来,从而完成对sql语句的填充
需要注意的是,使用insert、delete、update等语句时,需要使用sqlSession.commit()提交事务才能完成更改。