談談今天第一次使用Mybatis訪問MySql資料庫的過程
阿新 • • 發佈:2019-02-07
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號