标签:
本文转自:http://www.yihaomen.com/article/java/302.htm
1. 配置文件参数说明:
mybatis 配置文件:Configuration.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>
<typeAliases>
<typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/>
</typeAliases> <environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
<property name="username" value="root"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="com/yihaomen/mybatis/model/User.xml"/>
</mappers>
</configuration>
typeAliases :
<!-- typeAliases 表示model的别名,方便映射文件的配置 -->
<typeAliases>
<typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/>
</typeAliases>
mappers :
<!-- 关联具体的映射文件 -->
<mappers>
<mapper resource="com/yihaomen/mybatis/model/User.xml"/>
</mappers>
mapper :
<!-- id 与对应接口中的方法名保持一致 ;parameterType 为参数类型 -->
<!-- 具体的SQL语句 -->
<mapper namespace="com.yihaomen.mybatis.models.UserDao">
<select id="selectUserByID" parameterType="int" resultType="User">
select * from `user` where id = #{id}
</select>
</mapper>
关于命名空间namespace:
1). 命名空间一般为:package.interName ,接口中的方法分别与该映射文件中的方法名对应
2). 命名空间也可以自定义,但访问方法为:session.method(namespace + 对应id , param);
关于返回结果类型resultType/resultMap:
1). 返回结果类型可以为:基本类型,字符串,对象(一般使用typeAliases中的别名表示)
2). 返回类型为集合的时候,我们需要使用resultMap。我们可以自定义返回类型,例如:
<!-- 为了返回list 类型而定义的returnMap -->
<resultMap type="User" id="resultListUser">
<id column="id" property="id" />
<result column="userName" property="userName" />
<result column="userAge" property="userAge" />
<result column="userAddress" property="userAddress" />
</resultMap>
<!-- 返回list 的select 语句,注意 resultMap 的值是指向前面定义好的 -->
<select id="selectUsers" parameterType="string" resultMap="resultListUser">
select * from user where userName like #{userName}
</select>
2. mybatis 访问方式:
1). session 直接访问:
SqlSession session = sqlSessionFactory.openSession();
// com.yihaomen.mybatis.models.UserMapper 为namespace
User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1);
2). 接口访问:
SqlSession session = sqlSessionFactory.openSession();
// 这里需要将namespace修改为 package.IUserOperation
IUserOperation userOperation=session.getMapper(IUserOperation.class);
User user = userOperation.selectUserByID(1);
标签:
原文地址:http://www.cnblogs.com/Jtianlin/p/4445202.html