一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - mybatis實現(xiàn)增刪改查_動力節(jié)點(diǎn)Java學(xué)院整理

mybatis實現(xiàn)增刪改查_動力節(jié)點(diǎn)Java學(xué)院整理

2020-12-26 15:25動力節(jié)點(diǎn) Java教程

本文通過實例代碼給大家介紹了mybatis實現(xiàn)增刪改查功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧

所需要用到的其他工具或技術(shù):

項目管理工具 : Maven

測試運(yùn)行工具 : Junit

數(shù)據(jù)庫 : Derby

Maven Dependencies:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<dependencies>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.7</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derby</artifactId>
      <version>10.10.2.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derbyclient</artifactId>
      <version>10.10.2.0</version>
    </dependency>
  </dependencies>

SQL 建表及數(shù)據(jù)插入(沿用前兩節(jié)中的數(shù)據(jù)庫表及數(shù)據(jù)):

?
1
2
3
4
5
6
7
8
9
CREATE TABLE USER_TEST_TB( 
ID INT PRIMARY KEY, 
USERNAME VARCHAR(20) NOT NULL, 
PASSWORD VARCHAR(20) NOT NULL, 
NICKNAME VARCHAR(20) NOT NULL 
);   
INSERT INTO USER_TEST_TB VALUES(1,'1st','111','Jack'); 
INSERT INTO USER_TEST_TB VALUES(2,'2nd','222','Rose'); 
INSERT INTO USER_TEST_TB VALUES(3,'3rd','333','Will');

Mybatis配置文件 src/main/resource源目錄下

test-mybatis-configuration.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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>
  <properties>
    <property name="driver" value="org.apache.derby.jdbc.ClientDriver" />
    <property name="url"
      value="jdbc:derby://localhost:1527/bjpowernode;create=true" />
  </properties>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${driver}" />
        <property name="url" value="${url}" />
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/bjpowernode/practice/UserMapper.xml" /
  </mappers>
</configuration>

 User.java對象類(src/main/java/com/bjpowernode/practice目錄下)

?
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
package com.bjpowernode.practice; 
public class User
{
  private Integer id;
  private String username;
  private String password;
  private String nickname;
  public Integer getId()
  {
    return id;
  }
  public void setId(Integer 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 getNickname()
  {
    return nickname;
  }
  public void setNickname(String nickname)
  {
    this.nickname = nickname;
  }
}

UserMapper.xml  Mapper文件(src/main/java/com.bjpowernode.practice目錄下)

?
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
<?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.bjpowernode.practice.UserMapper">
  <!-- 查詢 -->
  <select id="getUser" resultType="com.bjpowernode.practice.User">
    select *
    from USER_TEST_TB
  </select>
  <!-- 插入 -->
  <insert id="insertUser">
    insert into 
      USER_TEST_TB 
    values(#{id},#{username},#{password},#{nickname})
  </insert>
  <!-- 更改 -->
  <update id="updateUser">
    update USER_TEST_TB set
      USERNAME = #{username},
      PASSWORD = #{password},
      NICKNAME = #{nickname}
    where ID = #{id}
  </update>
  <!-- 刪除 -->
  <delete id="deleteUser">
    delete from USER_TEST_TB WHERE ID=#{id}
  </delete>
</mapper>

UserMapper.java Mapper類(src/main/java/com.bjpowernode.practice目錄下)

?
1
2
3
4
5
6
7
8
9
package com.bjpowernode.practice;
import java.util.List;
public interface UserMapper
{
  public List<User> getUser();
  public void insertUser(User user);
  public void updateUser(User user);
  public void deleteUser(int userId);
}

測試類TestMyBatis.java(src/test/java/com.bjpowernode.practice目錄下)

?
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
package com.bjpowernode.practice; 
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
public class TestMyBatis
{
  private String source;
  private InputStream inputStream;
  private SqlSessionFactory sqlSessionFactory;
  @Before
  public void setUp()
  {
    /**
     * 準(zhǔn)備Mybatis運(yùn)行環(huán)境
     */
    source = "test-mybatis-configuration.xml";
    inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream(source);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  }
  @Test
  public void testGet()
  {
    try
    {
      // 獲取Session連接
      SqlSession session = sqlSessionFactory.openSession();
      // 獲取Mapper
      UserMapper userMapper = session.getMapper(UserMapper.class);
      // 顯示User信息
      System.out.println("Test Get start...");
      this.printUsers(userMapper.getUser());
      System.out.println("Test Get finished...");
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  @Test
  public void testInsert()
  {
    try
    {
      // 獲取Session連接
      SqlSession session = sqlSessionFactory.openSession();
      // 獲取Mapper
      UserMapper userMapper = session.getMapper(UserMapper.class);
      System.out.println("Test insert start...");
      // 顯示插入之前User信息
      System.out.println("Before insert");
      this.printUsers(userMapper.getUser());
      // 執(zhí)行插入
      userMapper.insertUser(this.mockUser("FREU_INS_USER", "BJPOWERNODE_INS_PASS", "BJPOWERNODE_INS_NICK"));
      // 提交事務(wù)
      session.commit();
      // 顯示插入之后User信息
      System.out.println("\r\nAfter insert");
      this.printUsers(userMapper.getUser());
      System.out.println("Test insert finished...");
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  @Test
  public void testUpdate()
  {
    try
    {
      // 獲取Session連接
      SqlSession session = sqlSessionFactory.openSession();
      // 獲取Mapper
      UserMapper userMapper = session.getMapper(UserMapper.class);
      System.out.println("Test update start...");
      // 顯示更新之前User信息
      System.out.println("Before update");
      this.printUsers(userMapper.getUser());
      // 執(zhí)行更新
      userMapper.updateUser(this.mockUser("FREU_UPD_USER", "BJPOWERNODE_UPD_PASS", "BJPOWERNODE_UPD_NICK"));
      // 提交事務(wù)
      session.commit();
      // 顯示更新之后User信息
      System.out.println("\r\nAfter update");
      this.printUsers(userMapper.getUser());
      System.out.println("Test update finished...");
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  @Test
  public void testDelete()
  {
    try
    {
      // 獲取Session連接
      SqlSession session = sqlSessionFactory.openSession();
      // 獲取Mapper
      UserMapper userMapper = session.getMapper(UserMapper.class);
      System.out.println("Test delete start...");
      // 顯示刪除之前User信息
      System.out.println("Before delete");
      this.printUsers(userMapper.getUser());
      // 執(zhí)行刪除
      userMapper.deleteUser(this.mockUser(null, null, null).getId());
      // 提交事務(wù)
      session.commit();
      // 顯示刪除之后User信息
      System.out.println("\r\nAfter delete");
      this.printUsers(userMapper.getUser());
      System.out.println("Test delete finished...");
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }
  /**
   *
   * 組裝一個User對象
   *
   * @return
   */
  public User mockUser(String username, String password, String nickname)
  {
    User user = new User();
    user.setId(10);
    user.setUsername(username);
    user.setPassword(password);
    user.setNickname(nickname);
    return user;
  }
  /**
   *
   * 打印用戶信息到控制臺
   *
   * @param users
   */
  private void printUsers(final List<User> users)
  {
    int count = 0;
    for (User user : users)
    {
      System.out.println(MessageFormat.format("==User[{0}]=================", ++count));
      System.out.println("User Id: " + user.getId());
      System.out.println("User UserName: " + user.getUsername());
      System.out.println("User Password: " + user.getPassword());
      System.out.println("User nickname: " + user.getNickname());
    }
  }
}

總結(jié)

以上所述是小編給大家介紹的mybatis實現(xiàn)增刪改查_動力節(jié)點(diǎn)Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91亚洲一区二区在线观看不卡 | 美女gif跪趴式抽搐动态图 | 久操久操久操 | 亚洲美洲国产日产 | 久久嫩草影院网站 | 国产自在自线午夜精品之la | 青青草精品在线观看 | 999热在线精品观看全部 | 1919gogo女厕盗摄 | 青青草国产青春综合久久 | 欧美精品99 | 99久久99久久久精品齐齐鬼色 | 免费午夜网站 | 欧美最猛性xxxxx动态图 | 国产成人手机在线好好热 | 免费网站国产 | 草草线在成年免费视频网站 | 免费一级欧美大片在线观看 | 2022国产麻豆剧传媒剧情 | 91精品大神国产在线播放 | 激情视频在线播放 | 波多野结衣52部合集在线观看 | caoporen97免费公开视频 | 国产日产精品久久久久快鸭 | 国产一级视频久久 | 精品久久久久免费极品大片 | 精品视频在线免费播放 | 亚洲欧美国产另类 | 亚洲国产果果在线播放在线 | 国产亚洲精品九九久在线观看 | 99香蕉网 | 国产欧美又粗又猛又爽老 | 男人含玉势出嫁束器 | 韩国久播影院理论片不卡影院 | 四虎在线视频免费观看视频 | 国产xx肥老妇视频奂费 | 日韩国产欧美视频 | a看片| 京东热在线观看 | 欧美日韩在线一区二区三区 | 亚洲成年网站在线观看 |