栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

基于XML + Annotation的MyBatis配置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于XML + Annotation的MyBatis配置

可能同时具有基于XML + Annotation的配置

对于基于 xml 的配置:

从Spring上下文文件开始。在上下文文件中添加以下行

<beans:bean id="dataSource"      p:driverClassName="yourDriverClassName"   p:url="yourUrl"   p:username="yourUsername"   p:password="yourPassword" /><beans:bean id="sqlSessionFactory" >    <beans:property name="dataSource" ref="dataSource" />    <beans:property name="configLocation" value="/WEB-INF/mybatis-config.xml" /></beans:bean><!-- assuming you have a dao named UserDao --><beans:bean id="userDao" >    <beans:property name="sqlSessionFactory" ref="sqlSessionFactory" /></beans:bean>

您的mybatis-config.xml应该是这样的:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>  <settings>  </settings>  <typeAliases>    <typeAlias alias="User" type ="com.yourcomp.domain.User" />  </typeAliases>  <mappers>    <mapper resource="com/yourcomp/domain/UserMapper.xml"/>    <mapper resource="com/yourcomp/domain/AnotherDomainObjectMapper.xml"/>  </mappers></configuration>

和src / com / yourcomp / domain /中的userMapper.xml可能是这样的

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--<mapper namespace="org.pbl.rms.RMSUserDao">--><mapper namespace="com.yourcomp.domain.User">  <resultMap id="userMap" type="User">  <id property="userId" column="USER_ID" javaType="int" jdbcType="NUMERIC"/>  <result property="userName"  column="USER_NAME" javaType="String" jdbcType="VARCHAR"/>  <result property="userFullName"  column="USER_FULL_NAME" javaType="String" jdbcType="VARCHAR"/>  <result property="password"  column="PASSWORD" javaType="String" jdbcType="VARCHAR"/>  <result property="passwordExpiryDate"  column="PASWRD_EXPIRY_DATE" javaType="java.util.Date" jdbcType="DATE"/>  <result property="status" column="STATUS" javaType="_integer" jdbcType="DECIMAL"/>  </resultMap>  <select id="getUserById" parameterType="map" resultMap="userMap">  select  * from user where USER_ID=#{userId}  </select></mapper>

现在,在您的DAO层中,您可能会拥有如下所示的类:

public class UserDAO{    private SqlSessionFactory sqlSessionFactory;    public UserDAO() {    }    public UserDAO(SqlSessionFactory sqlSessionFactory ) {        this.sqlSessionFactory = sqlSessionFactory;    }    public String getUserById(Integer userId) {        SqlSession session = sqlSessionFactory.openSession();        //int success = -100;        String name=null;        try { name = (String)session.selectOne("com.yourcomp.domain.User.getUserById",userId);        }catch(Exception e){        }finally { session.close();        }        return name;    }}

现在,要使用基于 注释 的配置,请添加以下内容:

您可能具有如下界面:

public interface MyMapper {    @Select(value="select something from some_table")    public String getSomevalue(@Param("someParam") String someParam);}

现在将以下内容添加到您的上下文文件中:

<beans:bean id="annotatedMapper" >  <beans:property name="mapperInterface" value="com.yourcomp.MyMapper" />  <!-- remember the sqlsession factory defined earlier for xml based conf ? -->  <beans:property name="sqlSessionFactory" ref="sqlSessionFactory" /></beans:bean>

希望这可以帮助 :)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号