MyBatis与SpringMVC的整合,MyBatis入门

原创
2016/06/21 17:58
阅读数 304

首先,pom.xml文件加入下载包,下载这三个包,如下图;

然后配置.properties数据库资源文件,然后数据库connection.xml配置文件配置

<context:property-placeholder location="classpath:data.properties" />
    <util:properties id="dsConfig" location="classpath:data.properties" />
    
    <context:annotation-config />
    
    <bean id="dataSource" class="连接池"
        init-method="init" destroy-method="close">
        <property name="url" value="#{dsConfig['jdbc.url']}" />
        <property name="username" value="#{dsConfig['jdbc.username']}" />
        <property name="password" value="#{dsConfig['jdbc.password']}" />
        <property name="filters" value="stat" />
        <property name="maxActive" value="20" />

然后,新建mapper.xml配置文件,绑定实体类的属性和数据库中表的字段,并绑定mapper接口,就可以在service中调用mapper接口的方法了,这和Dao有异曲同工之妙。

这时可以看到Mybatis最大的不同之处就在于,数据库操作是在这个mapper.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="cn.test.mapper.UserAttachmentMapper">
    <resultMap id="ResultMap" type="cn.test.model.UserAttachment">
        <id column="ID" property="id" />
        <result column="USER_ID" property="userId" />
        <result column="CATEGORY" property="category" />
        <result column="FILENAME" property="filename" />
        <result column="CREATED_BY" property="createdBy" />
        <result column="CREATED_DATE" property="createdDate" />
        <result column="UPDATED_BY" property="updatedBy" />
        <result column="UPDATED_DATE" property="updatedDate" />
        <result column="DELETED_FLAG" property="deletedFlag" />
        <result column="FILENAME_OLD" property="filenameOld" />
    </resultMap>

这个是sql语句,可以加入到其他查询中

<sql id="Base_Column_List">
        ID, USER_ID, CATEGORY, FILENAME, CREATED_BY, CREATED_DATE,
        UPDATED_BY,
        UPDATED_DATE,
        DELETED_FLAG,
        FILENAME_OLD
    </sql>

这是查询语句,id与mapper的接口类方法名一致,当service调用mapper的接口方法时,会执行这个语句,select是查询,update是更新,insert是增加,这都与sql是一致的,resultMap是返回值类型,parameterType是传入参数类型,include是将上面的sql加入到下面的select中。

<select id="query" resultMap="MyConcernMap" parameterType="cn.test.common.Paginate">
        select
        <include refid="Base_Column_List" />
        <include refid="Assets_Column_List" />  FROM ASSETS_CONCERN

 

展开阅读全文
打赏
0
14 收藏
分享
加载中
推荐国内最流行的ibatis、mybatis代码生成网站: fwjava.com
无需任何安装配置,直接在线生成,且十分规范好用.
现在,很多知名的互联网公司都在用它.
2016/09/21 10:55
回复
举报
更多评论
打赏
1 评论
14 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部