第二天mybatis的学习
补充:第一天学习的内容,跑起来的话是失败的,因为mybatis不知道将结果封装到哪里,所以要在IUserDao.xml中,每一条要执行的sql语句标签中加入resultType="类的位置"。
今天学习的是利用mybatis进行CRUD,托更了,其实前两天已经学过了,今天把内容补进来,
第一步还实在持久层接口中,加入crud方法, 新手比如我要注意,这些方法的返回值与参数
比如查询是需要返回值的,你要看到查询的结果,于是方法的返回值类型为List<User>;删除是不需要返回值的,还要明白删除是通过什么进行删除的,很显然删除是通过id进行删除,所以参数为id;
//保存用户 增
public void saveUser(User user);
//删除用户
public void deleteUser(Integer num);
第二步,通过IUserDao.xml来操作数据库了,我们又学习了一个新的标签parameterType 这个标签的作用是 你输入内容的形式
比如你要删除一条数据库记录,你是通过id进行删除的,此时你就要定义一下你要输入的id是什么格式,很显然是int
所以
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
又因为删除就行,不需要对数据再进行封装呈现出来 此时就没有result标签
回顾到上节课内容,id= deleteUser 要与持久层接口名称保持一致
crud 代码
<select id="findAll" resultType="com.itheima.domain.User">
SELECT * from USER
</select>
<insert id="saveUser" parameterType="com.itheima.domain.User">
insert into user(username,birthday,sex,address)VALUES (#{username},#{birthday},#{sex},#{address})
</insert>
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
<insert id="updateUser" parameterType="com.itheima.domain.User">
update user set username=#{username},sex=#{sex},birthday=#{birthday} where id=#{id}
</insert>
<select id="findOne" parameterType="int" resultType="com.itheima.domain.User">
select * from user where id=#{id}
</select>
<select id="findByName" parameterType="String" resultType="com.itheima.domain.User">
select * from user where username like #{username}
</select>
<select id="findByQueryVo" parameterType="com.itheima.domain.queryVo" resultType="com.itheima.domain.User">
select * from user where username like #{user.username}
</select>
注:#{}为新的内容, 要替换或者要增加的内容 等同于set方法

浙公网安备 33010602011771号