Mybatis

添加mybatis的依賴,目前版本是3.4.6,除此之外還有junit和mysql的驅(qū)動依賴分別引入進(jìn)來

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.qfedu</groupId>
<artifactId>Days21Mybatis</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.44</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.6</version>
    </dependency>
</dependencies>

</project>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

在resources目錄下新增一個mybatis的配置文件,mybatis.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/hello"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/qfedu/pojo/UserMapper.xml"/>
</mappers>
</configuration>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

在com.qfedu.pojo的包下創(chuàng)建User.java文件

package com.qfedu.pojo;

public class User {

private int uid;
private String username;
private String password;
private int age;
private String addr;

@Override
public String toString() {
    return "User{" +
            "uid=" + uid +
            ", username='" + username + '\'' +
            ", password='" + password + '\'' +
            ", age=" + age +
            ", addr='" + addr + '\'' +
            '}';
}

public int getUid() {
    return uid;
}

public void setUid(int uid) {
    this.uid = uid;
}

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 int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public String getAddr() {
    return addr;
}

public void setAddr(String addr) {
    this.addr = addr;
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

在com/qfedu/pojo的目錄下創(chuàng)建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="com.qfedu.pojo.UserMapper">
<select id="selectUser" resultType="com.qfedu.pojo.User">
select * from user
</select>
</mapper>

1
2
3
4
5
6
7
8
9

TestUser.java

package com.qfedu.test;

import com.qfedu.pojo.User;
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 org.junit.Test;

import java.io.IOException;
import java.sql.Connection;
import java.util.List;

public class TestUser {

@Test
public void testGetAllUsers(){

    /**
     *  1.  使用mybatis的配置文件以及SqlSessionFactoryBuilder建造者模式創(chuàng)建SqlSessionFactory對象
     *  2.  使用SqlSessionFactory對象的openSession()方法來得到一個SqlSession對象,用該對象即可完成對象的所有的crud操作
     *  3.  使用SqlSession對象來完成crud操作
     *  4.  關(guān)閉資源
     *
     */
    try {
        SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis.xml"));

        SqlSession session = sf.openSession();

        /**
         * session的crud方法("namespace.id");整個項目中的namespace.id必須唯一
         */
        List<User> users = session.selectList("com.qfedu.pojo.UserMapper.selectUser");

        for (User u : users) {
            System.out.println(u);
        }

        if(session != null){
            session.close();
            session = null;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

執(zhí)行結(jié)果

User{uid=1, username='sunwukong', password='111111', age=500, addr='huaguoshan'}
User{uid=2, username='zhubajie', password='222222', age=2000, addr='gaolaozhuang'}
User{uid=3, username='shaheshang', password='333333', age=500, addr='liushahe'}
User{uid=4, username='tangtang', password='444444', age=20, addr='datangwangchao'}
User{uid=5, username='baikongma', password='555555', age=100, addr='longgong'}
User{uid=6, username='1111', password='', age=20, addr=''}
User{uid=7, username='baigujing', password='888888', age=800, addr='baigudong'}
User{uid=8, username='nverguowang', password='888888', age=18, addr='nuerguo'}
User{uid=9, username='heixiongjing', password='888888', age=1800, addr='heifengdong'}
User{uid=10, username='tieshan', password='888888', age=900, addr='huoyanshan'}
User{uid=11, username='lishushu', password='888888', age=18, addr='beijing'}
User{uid=12, username='change', password='888888', age=1000, addr='guanghangong'}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容