1. 程式人生 > >mybatis 最基礎的開發方法

mybatis 最基礎的開發方法

mybatis開發過程

這裡寫的只是大致的開發過程,沒有對每個具體過程中具體內容進行分析,因為我還比較菜,語言組織能力又差。

全域性配置檔案mybatis-config.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>

 	<!--  -->
	<properties resource="config/db.properties">
  
 	</properties>
  <environments default="development">
    <environment id="development">
    <!-- 使用jdbc事務管理,目前由mybatis來管理 -->
      <transactionManager type="JDBC"/>
      <!-- 資料庫連線池,目前又mybatis來管理 -->
      <dataSource type="POOLED">
        <property name="driver" value="${sqlserver_driver}"/>
        <property name="url" value="${sqlserver_url}"/>
        <property name="username" value="${sqlserver_userName}"/>
        <property name="password" value="${sqlserver_password}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- 對映檔案 -->
  <mappers>
    <mapper resource="zzu/qg/mybatis/mapper/User.xml"/>
    <mapper resource="zzu/qg/mybatis/mapper/UserMapper.xml"/>
  </mappers>
</configuration>

 對映檔案,這裡只寫了查詢和增加功能

<?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="test">
	<select id="findUserById" parameterType="int" resultType="zzu.qg.mybatis.entity.User">
		select * from [user] where id=#{value}
	</select>
	
	<insert id="insertUser" parameterType="zzu.qg.mybatis.entity.User">
		insert into [user] values(#{userName},#{password},#{sex},#{birthday})
	</insert>
</mapper>

接下來,就開始編寫java程式。

public class TestMybatis {
	
	@Test
	public void findUserById(){
		String resource="config/mybatis/mybatis-config.xml";
		InputStream inputStream=null;
		try {
			inputStream=Resources.getResourceAsStream(resource);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//根據配置檔案的檔案輸入流建立sqlsession工廠
		SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
		
		//建立sqlsession
		SqlSession sqlSession=sqlSessionFactory.openSession();
		//System.out.println("----");
		User user=sqlSession.selectOne("test.findUserById", 1);
		//System.out.println("++++");
		System.out.println(user);
		//sqlsession執行sql語句完畢後,對資料庫的操作資訊仍然在記憶體中停留,需要呼叫commit()方法
		//把記憶體裡邊的資料更新到資料庫中。
		sqlSession.commit();
		sqlSession.close();
	}
	
}