发表于: 2016-08-18 11:03:14

1 2628


今天完成的事情:今天在各位师兄的帮助下对mybatis的整体结构有了进一步的了解,从SqlMapConfig.xml这个总的配置文件中通过jdbc连接和管理数据库,再配置连接池,然后再mapper resource里连接User.xml,User.xml中配置sql语句,执行前封装为Statement对象

User.xml的配置大概如下:

<mapper namespace="test">  

/* namespace在dao原始开发时命名没要求,但在代理开发时指定为mappe接口的全限定名 */

<select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">

SELECT * FROM USER WHERE id= #{id}

/* id唯一标识, parameterType定义输入参数类型,通过#{}接收;resultType/resultMap定义输出参数类型,

*/

</select>

<select id="findUserByName" parameterType="java.lang.String" resultType="cn.itcast.mybatis.po.User">

select * from user where username like '%${value}%'

</select>

/* like是模糊搜索,只要包含该搜索条件的都能被搜索到,'% %'      ${}表示sql的拼接,通过${}将参数的内容不加任何修饰地拼接在sql中。

*/

<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User">

<selectKey keyProperty="id" order="AFTER" resultType="int">

select LAST_INSERT_ID()

</selectKey>

/* selectKey用于进行主键返回,定义了获取主键值的sql。order是设置selectKey中sql执行的顺序

以上是对数据库进行增删改查的基本操作

*/

INSERT INTO USER(username,birthday,sex,address) VALUES(#{username},#{birthday},#{sex},      #{address})

</insert>

</mapper>


而UserDao的接口里面只写了这三个方法:

public interface UserDao {

public User findUserById(int id) throws Exception;

//第一个User为返回值类型,findUserById为方法名,(int id)为参数以及类型。

public List<User> findUserByUsername(String username) throws Exception;

public void insertUser(User user) throws Exception;

}

而接口的实现类则放到了UserDaoImpl里。

明天计划的事情:自己写一个Demo

遇到的问题:lib文件夹需要哪些jar包不清楚

收获:对mybatis的结构更熟悉了。





返回列表 返回列表
评论

    分享到