天天看點

mybatis架構-----入門練習

  1. 下載下傳mybatis.zip,解壓
  2. 建立java工程
  3. 導入jar包 (記得需要右鍵build  path)
mybatis架構-----入門練習

     4.建立資料庫以及建表

mybatis架構-----入門練習

   5. 在工程中加入mybatis-conf.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>
	<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://localhost:3306/blog" />
				<property name="username" value="root" />
				<property name="password" value="root" />
			</dataSource>
		</environment>
	</environments>	
</configuration>
           

   6.編寫實體類User

package com.user.mysql;

public class User {
	private int id;
	private String username;
	private String password;
	private String phone;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
}
           

   7.編寫映射檔案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="usermapper">

	<!-- parameterType表示參數類型
	resultType表示結果類型 -->
	<select id="getUser" parameterType="int" resultType="com.user.mysql.User">
		<!-- 注意這裡是真正的sql,#{}作為參數的占位符 -->
		select * from users where id = #{id}
	</select>

</mapper>
           

  8.在主配置中加入mapper (與environments同級)

<mappers>
	<mapper resource="com/user/mysql/UserMapper.xml" />
</mappers>
           
mybatis架構-----入門練習

  9. 編寫測試類

package com.user.test;

import java.io.IOException;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.user.mysql.User;

public class Test {
	public static void main(String[] args) {
		//建立SqlSessionFactory
				SqlSessionFactory factory;
				try {
					factory = new SqlSessionFactoryBuilder()
								.build(Resources.getResourceAsStream("mybatis-conf.xml"));
					SqlSession session = factory.openSession();
					
					String statment = "usermapper.getUser";  //等于mapper的namespace+具體sql的id
					
					//參數表示擷取表中第幾列數
					User user = session.selectOne(statment, 1);
					//列印的是表中什麼字段的内容
					System.out.println(user.getUsername());
					
				} catch (IOException e) {
					e.printStackTrace();
				}
	}
}
           

工程下的部署

mybatis架構-----入門練習

第一次學mybatis的架構,相比原來寫的代碼連接配接資料庫之類的更加靈活應用

MyBatis是一個資料持久層(ORM)架構,在實體類和SQL語句之間建立映射關系,是一種半自動化的ORM實作。

MyBatis的優點:

1、基于SQL文法,簡單易學。

2、能了解底層組裝過程。  

3、SQL語句封裝在配置檔案中,便于統一管理與維護,降低了程式的耦合度。

4、程式調試友善。