发表于: 2018-09-09 23:04:30
1 381
今天做的事:
1. 完成使用mybatis操作数据库,这在之前做过,这次自己写,还是问题很多很多,主要还是没理解是怎么传参,怎么配合工作的。贴上程序吧。
Xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="$jdbc:mysql//local3306/sf"/>
<property name="root" value="root"/>
<property name="password" value="269785"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper.xml"/>
</mappers>
</configuration>
配置mapper文件,编译sql,注意这些写法
<?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="com.mybatis.UserMapper">
<select id="findUser" resultType="com.mybatis.User">
select * from dk where id=#{id}
</select>
<select id="findAll" resultType="com.mybatis.User">
select *from dk
</select>
<insert id="addUser" keyProperty="id" useGeneratedKeys="true" >
insert into dk(name,age) values (#{name},#{age})
</insert>
<update id="updateUser" parameterType="boolean">
update dk set name=#{name},#{age} where id=#{id}
</update>
<delete id="deleteUser" parameterType="boolean">
delete from dk where id=#{id}
</delete>
</mapper>
写了创建会话的类。
测试类:
2.学习注解使用mybatis
编辑接口
public interface AnnotationBook {
@Select("select booknum id,bookname name,price,birth date from book where booknum=#{id}")
public Book getBookById(int id);
@Update("update book set birth=#{date},bookname=#{name} where booknum=#{id}")
public int updateBookById(Book b);
@Delete("delete from book where booknum=#{id}")
public int deleteBookById(int id);
@Insert("insert into dk(name,age) values (#{name},#{age});")
public int addBook(Book b);
@Select("select id id, name name,age age from book")
public List<Book> getAllBook();
}
测试类
明天计划的事:
明天又要去高校支撑,所以可能要回来才能做,这期间手机上看看基础把,回来跑完mybatis的其他方法,把注解的方法完成以后,再做一遍
遇到的问题:
注解方法时,运行出错,注解的方法没有再xml配置文件中要记得添加
<mapper class="com.mybatis.AnnotationBook"/>
今天的收获:
感觉注解的方法不需要针对映射口去编写具体的实现类代码,这个具体的实现类由MyBatis帮我们动态构建出来,我们只需要直接使用即可。
因为少了mapper.xml的配置,直接在写接口的时候注解,好像更加方便简洁。
评论