我们通过写一个简单的mybatis小项目来在实战中学习mybatis
1.需求
根据用户id(主键)查询用户信息
根据用户名称模糊查询用户信息
添加用户
删除 用户
更新用户
mybatis运行环境(jar包):
从https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本
lib下:依赖包
mybatis-3.2.7.jar:核心 包
mybatis-3.2.7.pdf,操作指南
加入mysql的驱动包
加入的所有jar包如图(可以在这里下载:http://download.csdn.net/detail/u013517797/8781295)
2.创建log4j.properties
在src中放入日志配置文件
文件内容(拷贝自官方帮助文档)
接下来创建sqlmapconfig.xml等文件
配置好之后的整个工程结构为图
3.sqlmapconfig.xml
sqlmapconfig.xml内容如下
(由于没有整合spring,暂时在environments中配数据库连接池datasource,整合spring之后将这一块删除就行了)
4.创建po(persistant object持久对象)类
在数据库中创建mtbatis数据库,创建user表,表详细内容为
id<int>、username<vachar>、birthday<date>、sex<int>、address<vachar>
在cn.edu.hpu.mybatis.po包下创建po对象
user.java:
5.编写user.xml配置文件
我们来写user.xml(里面详细注释,就不多说了):
6.在sqlmapconfig.xml中加载映射文件(user.xml)
7.编写程序
(1)同归id查询用户
在cn.edu.hpu.mybatis.first包下编写测试样例mybatisfirst.java
这里我们查询id为1的用户
测试结果:张三
查看控制台console输出的日志记录:
很清晰的看到整个执行过程
(2)通过用户名模糊查询用户id
使用user.xml,添加根据用户名称模糊查询用户信息的sql语句。
测试方法:
测试结果:
1:张三
4:张三丰
输出的日志信息:
小结:
a.parametertype
在映射文件中通过parametertype指定输入参数的类型
b.resulttype
在映射文件中通过resulttype指定输出结果的类型
c.#{}和${}
#{}表示一个占位符号
${}表示一个拼接符号,会引起sql注入,所以不建议使用
d.selectone和selectlist
selectone表示查询一条记录进行映射,使用selectlist也可以使用,只不过只有一个对象
selectlist表示查询出一个列表(参数记录)进行映射,不嗯能够使用selectone查,不然会报下面的错:
org.apache.ibatis.exceptions.toomanyresultsexception: expected one result (or null) to be returned by selectone(), but found: 2
转载请注明出处:http://blog.csdn.net/acmman/article/details/46400145