标签:
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