1. 程式人生 > >談談今天第一次使用Mybatis訪問MySql資料庫的過程

談談今天第一次使用Mybatis訪問MySql資料庫的過程



4. 然後再在專案裡新建一個Custom的類
<span style="font-size:18px;">package com.xhy;

public class Custom {
	
	private Long id;
	
	private String customName;
	
	private String customCode;
	
	private String state;
	

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public String getCustomName() {
		return customName;
	}

	public void setCustomName(String customName) {
		this.customName = customName;
	}

	public String getCustomCode() {
		return customCode;
	}

	public void setCustomCode(String customCode) {
		this.customCode = customCode;
	}
	
	

	@Override
	public String toString() {
		return "CustomDto [id=" + id + ", customName=" + customName + ", customCode=" + customCode + ", state=" + state
				+ "]";
	}
</span>

5. 接下來就是配置xml檔案了
先在src檔案下面新建一個XML檔案,我這裡取名為mybatis-config.xml
裡面定義了連線資料庫的語句
下面是具體內容
<span style="font-size:18px;"><?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">
		<!-- 事務管理器,這裡直接使用jdbc的事務管理能力  -->
			<transactionManager type="jdbc"/>
				
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost/ccv80ch"/>
				<property name="username" value="root"/>
				<property name="password" value="ROOT"/>
				
			</dataSource>
		
		
		
		</environment>
	
	</environments>
	<mappers>
		<mapper resource="mapper/CustomMapper.xml"></mapper>
	</mappers>
</configuration></span>

6.然後就是在src下面新建一個Folder(資料夾),我這裡取名為mapper,用於存放定義具體的資料庫操作語句的xml檔案,我這裡取名為CustomMapper.xml。上面的xml檔案裡註冊了這個檔案的位置,就在<mappers>屬性裡
下面是具體xml檔案裡的內容:
<span style="font-size:18px;"><?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.mapper.CustomMapper">
	
	<!-- useGeneratedKeys="true" 表明使用資料庫自動生成的主鍵,
	keyColumn="id" 指定Custom表中的主鍵列,keyProperty="id",
	表明當插入記錄後,會把資料庫生成的主鍵值設定到Custom物件的id屬性中,
	也就是說,它指定與Custom表中的主鍵列對應的Custom實體類中的屬性是id這個屬性
	-->
	<insert id="add" useGeneratedKeys="true"
	keyColumn="id" keyProperty="id"
	parameterType="com.xhy.Custom">
		
		insert into custom(CUSTOM_NAME,CUSTOM_CODE,STATE)
		values(#{customName},#{customCode},#{state})
	
	</insert>

</mapper>
</span>

裡面我只寫了插入語句,其他的語句都可以用這種模板來寫,比如在<mapper>新值屬性<delete>標籤再寫刪除操作等

7.最後一步就是寫程式的入口程式了,我新建了一個test類,具體程式如下:
package demo;


import java.io.IOException;
import java.io.Reader;

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.xhy.Custom;

public class test {
	
	private static SqlSessionFactory factory=null;
	
	static
	{
		String resource = "mybatis-config.xml";
		try {
			//讀取主配置檔案
			Reader reader
				= Resources.getResourceAsReader(resource);
			//建立SqlSessionFactory物件
			factory= new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
				
	}
	static int count;
	public static void main(String[] args) {
		SqlSession session = factory.openSession();
		Custom custom = new Custom();
		custom.setCustomName("老李");
		custom.setCustomCode("GG");
		custom.setState("A");
		
		count = session.insert("com.mapper.CustomMapper.add",custom);
		session.commit();
		System.out.println("插入了" + count);
		System.out.println(custom.getId());
		
		
	}
}

之後在執行程式就可以了,當然前提是你得把資料庫服務開啟。



1是說的增加了幾條資料
11是增加資料的id號