发表于: 2018-02-04 22:32:07
1 691
今天做了什么:
1.用mybatis测试绿了一小段select和insert
mybatis需要在实体类中有无参的构造函数,如果没有构造函数,会默认创建一个无参构造函数,如果有个有参数的构造函数,那就不会默认创建,会报错......[java.lang....java.lang....]
2.写了mybatis实现的crud,xml文件,以及测试类。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<!--增添用户-->
<insert id="insertStud" parameterType="Students">
insert into students(create_at, update_at, name, gender, age, qq, occupation, join_date, school, number,
daily_url, declaration, consoler )
values(#{create_at},#{update_at},#{name},#{gender},#{age},#{qq},#{occupation},#{join_date},#{school},
#{number},#{daily_url},#{declaration},#{consoler})
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
select last_insert_id()
</selectKey>
</insert>
<!-- 删除用户 -->
<delete id="deleteStud" parameterType="java.lang.Long">
delete from students where id=#{id}
</delete>
<!-- 需求:通过id查询用户 -->
<select id="findStudById" parameterType="Long" resultType="Students">
select * from students where id = #{id}
</select>
<select id="findStudByName" parameterType="java.lang.String" resultType="Students">
select * from students where name like '%${value}%'
</select>
<!-- 更新用户 -->
<update id="updateStud" parameterType="Students">
update students set update_at=#{update_at}, name=#{name}, gender=#{gender}, age=#{age}, qq=#{qq},
occupation=#{occupation}, join_date=#{join_date}, school=#{school}, number=#{number},
daily_url=#{daily_url}, declaration=#{declaration}, consoler=#{consoler}
where id=#{id}
</update>
</mapper>
熟悉了sqlSessionFactory、sqlSession、ecxutor的关系。
同时测试的时候,默认字段非null可能也会报错。
明天打算做什么:
mybatis 的crud操作都能绿。学习原始DAO。
问题:
测试类在src/java目录下可以绿,换到test就出现找不到类的情况。
收获:
数据类型在数据库和java中的对应,不同类型数据要用类似1L,1等区分
评论