标签:
properties --- 用于提供一系列的键值对组成的属性信息,该属性信息可以用于整个配置文件中。
settings --- 用于设置 MyBatis 的运行时方式,比如是否启用延迟加载等。
typeAliases --- 为 Java 类型指定别名,可以在 XML 文件中用别名取代 Java 类的全限定名。
typeHandlers --- 在 MyBatis 通过 PreparedStatement 为占位符设置值,或者从 ResultSet 取出值时,特定类型的类型处理器会被执行。
objectFactory --- MyBatis 通过 ObjectFactory 来创建结果对象。可以通过继承 DefaultObjectFactory 来实现自己的 ObjectFactory 类。
plugins --- 用于配置一系列拦截器,用于拦截映射 SQL 语句的执行。可以通过实现 Interceptor 接口来实现自己的拦截器。
environments --- 用于配置数据源信息,包括连接池、事务属性等。
mappers --- 程序中所有用到的 SQL 映射文件都在这里列出,这些映射 SQL 都被 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.ieen.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/testmybatis" /> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/ieen/mybatis/model/UserMapper.xml"/> </mappers> </configuration>
Mybatis是通过sessionfactory产生sqlsession,由sqlsession对数据的增删改查和事务提交等。(使用代码)
java.io.Reader reader = Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();第二步:编写对应model的mapper映射文件:示例(UserMapper.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="com.ieen.mybatis.model.UserMapper">
<select id="selectUserByID" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
</mapper>第三步:使用方法一(直接访问):
SqlSessionFactory sqlSessionFactory;
java.io.Reader reader;
SqlSession session;
try{
reader = Resources.getResourceAsReader("Configuration.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
session= sqlSessionFactory.openSession();
User user = (User) session.selectOne("com.ieen.mybatis.model.UserMapper.selectUserByID",2);
System.out.println(user.getUserAddress());
System.out.println(user.getUserName());
session.close();
}catch(Exception e){
e.printStackTrace();
}方法二:(接口定义)定义一个接口,创建与映射文件xml里面的sql语句的访问方法。
访问UserMapper.xml的接口定义;
selectUserByID 必须与 User.xml 里面配置的<select id="selectUserByID"对应
public interface UserMapper
{
public User selectUserByID(int id);
}使用方法:
UserMapper userMapper = sqlsession.getMapper(UserMapper.class); User user = userMapper.selectUserByID(2);
标签:
原文地址:http://my.oschina.net/u/1384818/blog/414353