properties --- 用於提供一系列的鍵值對組成的屬性信息,該屬性信息能夠用於整個配置文件中。java
settings --- 用於設置 MyBatis 的運行時方式,好比是否啓用延遲加載等。mysql
typeAliases --- 爲 Java 類型指定別名,能夠在 XML 文件中用別名取代 Java 類的全限定名。sql
typeHandlers --- 在 MyBatis 經過 PreparedStatement 爲佔位符設置值,或者從 ResultSet 取出值時,特定類型的類型處理器會被執行。session
objectFactory --- MyBatis 經過 ObjectFactory 來建立結果對象。能夠經過繼承 DefaultObjectFactory 來實現本身的 ObjectFactory 類。mybatis
plugins --- 用於配置一系列攔截器,用於攔截映射 SQL 語句的執行。能夠經過實現 Interceptor 接口來實現本身的攔截器。app
environments --- 用於配置數據源信息,包括鏈接池、事務屬性等。ui
mappers --- 程序中全部用到的 SQL 映射文件都在這裏列出,這些映射 SQL 都被 MyBatis 管理。url
第一步:配置全局文件:Configuration.xml;
spa
<?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對數據的增刪改查和事務提交等。(使用代碼)code
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的接口定義;
public interface UserMapper { public User selectUserByID(int id); }
使用方法:
UserMapper userMapper = sqlsession.getMapper(UserMapper.class); User user = userMapper.selectUserByID(2);
該方法的注意事項:(1)namespace改爲接口 UserMapper的路徑;
(2)接口名稱與XML文件的<mapper namespace="com.ieen.mybatis.model.UserMapper">配置一致。