MyBatis的基本用法

MyBatis

MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

jar包和配置

1.jar包必須包含mybatis(我用的mybatis-3.4.6.jar)還有數據庫鏈接jar包(我用的mysql-connector-java-5.1.27.jar)。
2.創建全局配置文件(隨便取名:mybatis-config.xml),該文件的作用是用來對mybatis進行整體設置,並且配置連接數據庫的數據源(DateSoure)。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 這裏的config表示這個配置文件是mybatis的整體配置文件 -->
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置數據庫的參數從哪裏讀取 -->
<properties resource="db.properties"/>
<!-- 設置數據類型別名 -->
<typeAliases>
	<typeAlias type="com.xj.dao.User" alias="user"/>
</typeAliases>
	<!-- 數據庫連接環境配置 -->
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- 連接映射配置 -->
  <mappers>
  		<mapper resource="com/xj/dao/IUserdao.xml"/>
  </mappers>
</configuration>


3.創建映射配置文件(取名IUserdao),並且在全局配置文件中連接此映射文件。

<?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">
  <!-- 使用接口的代理方式 namespace 必須和接口的全路徑名稱一致 -->
<mapper namespace="com.xj.dao.IUserDao">
	<!-- id必須和接口聲明的方法一致 -->
	<select id="query" resultType="user">
		select * from t_user 
	</select>
	<insert id="add" parameterType="user">
		insert into t_user(no,name,age) values(#{no},#{name},#{age}) 
	</insert>
	<update id="update" parameterType="user">
		update t_user set name=#{name},age=#{age} where no = #{no} 
	</update>
	<delete id="delete" parameterType="int">
		delete from t_user where no = #{no} 
	</delete>
</mapper>

4.創建數據配置文件(db.properties),並且在全局配置文件(mybatis-config.xml)引用。

#數據庫配置

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
username=root
password=619238

測試

@Test
	public void test() throws Exception {
		//1.通過resources對象加載全局配置文件
		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
		//2.通過加載後配置文件獲取sqlsessionFactory
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
		//3.通過sqlsessionFactory獲取sqlsession對象,true表示開啓事務自動提交,默認是false。
		SqlSession session = factory.openSession(true);
		User user = new User();
		//4.session中的方法全是映射配置文件中namespace配置好的
		List<User> list = session.selectList("xj.query", user);
		System.out.println("查詢:"+list);
		int insert = session.insert("xj.add", new User(1009, "趙四", 39));
		System.out.println("插入:"+insert);
		int update = session.update("xj.update", new User(1009, "王五", 29));
		System.out.println("修改:"+update);
		int delete = session.delete("xj.delete",1005);
		System.out.println("刪除:"+delete);
		//5.關閉數據鏈接
		session.close();
	}

測試結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章