一、全局配置文件
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
|
<?
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
>
<!-- 别名 -->
<
typeAliases
>
<
typeAlias
type
=
"com.liu.po.UserInfo"
alias
=
"UserInfo"
/>
</
typeAliases
>
<!-- 配置数据库链接 -->
<
environments
default
=
"developments"
>
<!-- mysql -->
<
environment
id
=
"mysql"
>
<
transactionManager
type
=
"JDBC"
></
transactionManager
>
<
dataSource
type
=
"POOLED"
>
<
property
name
=
"driver"
value
=
"com.mysql.jdbc.Driver"
/>
<
property
name
=
"url"
value
=
"jdbc:mysql://127.0.0.1:3306/test"
/>
<
property
name
=
"username"
value
=
"root"
/>
<
property
name
=
"password"
value
=
""
/>
</
dataSource
>
</
environment
>
</
environments
>
<
mappers
>
<
mapper
class
=
"com.liu.mapper.UserInfoMapper"
/>
</
mappers
>
</
configuration
>
|
二、获取SqlSession工具类
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
|
package
com.liu.utils;
import
java.io.InputStream;
import
org.apache.ibatis.io.Resources;
import
org.apache.ibatis.session.SqlSession;
import
org.apache.ibatis.session.SqlSessionFactory;
import
org.apache.ibatis.session.SqlSessionFactoryBuilder;
public
class
DBFactory {
public
static
SqlSessionFactory sqlSessionFactory =
null
;
static
{
try
{
// 配置文件
String resource =
"mybatis-config.xml"
;
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory =
new
SqlSessionFactoryBuilder().build(
inputStream,
"mysql"
);
}
catch
(Exception e) {
e.printStackTrace();
}
}
public
static
SqlSessionFactory getFactory() {
return
sqlSessionFactory;
}
public
static
SqlSession getSession(){
return
sqlSessionFactory.openSession();
}
}
|
三、与之对应的实体类
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
|
package
com.liu.po;
/**
* 用户信息的实体类
* @author yingjie
*
*/
public
class
UserInfo {
private
Integer userId;
private
String userName;
private
String userSex;
public
Integer getUserId() {
return
userId;
}
public
void
setUserId(Integer userId) {
this
.userId = userId;
}
public
String getUserName() {
return
userName;
}
public
void
setUserName(String userName) {
this
.userName = userName;
}
public
String getUserSex() {
return
userSex;
}
public
void
setUserSex(String userSex) {
this
.userSex = userSex;
}
@Override
public
String toString() {
return
"UserInfo [userId="
+ userId +
", userName="
+ userName
+
", userSex="
+ userSex +
"]"
;
}
}
|
四、Mapper接口
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
|
package
com.liu.mapper;
import
java.util.HashMap;
import
java.util.List;
import
org.apache.ibatis.annotations.Delete;
import
org.apache.ibatis.annotations.Insert;
import
org.apache.ibatis.annotations.Param;
import
org.apache.ibatis.annotations.Result;
import
org.apache.ibatis.annotations.Results;
import
org.apache.ibatis.annotations.Select;
import
org.apache.ibatis.annotations.Update;
import
com.liu.po.UserInfo;
public
interface
UserInfoMapper {
@Select
(value={
"select * from user_info"
})
public
List<HashMap> getUserList();
/**
* 根据条件查询用户信息
* @param user 查询条件
* @return
*/
@Select
(value={
"select * from user_info where user_id=#{userId}"
})
@Results
({
@Result
(property=
"userId"
,column=
"user_id"
),
@Result
(property=
"userName"
,column=
"user_name"
),
@Result
(property=
"userSex"
,column=
"user_sex"
)
})
public
List<UserInfo> selectUser(UserInfo user);
/**
* 根据编号查询用户信息
* @param userId 用户编号
* @return
*/
@Select
(value={
"select * from user_info where user_id=#{userId} and user_name=#{userName}"
})
@Results
({
@Result
(property=
"userId"
,column=
"user_id"
),
@Result
(property=
"userName"
,column=
"user_name"
),
@Result
(property=
"userSex"
,column=
"user_sex"
)
})
public
UserInfo selectOneUser(
@Param
(
"userId"
) Integer userId,
@Param
(
"userName"
) String userName);
/**
* 添加用户信息
* @param user 添加的内容
* @return 返回影响行数
*/
@Insert
(
"insert into user_info (user_name,user_sex) values(#{userName},#{userSex})"
)
public
int
addUser(UserInfo user);
/**
* 修改用户信息
* @param user 添加的内容
* @return 返回影响行数
*/
@Update
(
"update user_info set user_name=#{userName},user_sex=#{userSex} where user_id = #{userId}"
)
public
int
updateUser(UserInfo user);
/**
* 删除用户信息
* @param userId 编号
* @return 返回影响行数
*/
@Delete
(
"delete from user_info where user_id=#{userId}"
)
public
int
deleteUser(Integer userId);
}
|
五、测试类
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
|
package
com.liu;
import
java.util.HashMap;
import
java.util.List;
import
org.apache.ibatis.session.SqlSession;
import
org.junit.After;
import
org.junit.Before;
import
org.junit.Test;
import
com.liu.mapper.UserInfoMapper;
import
com.liu.po.UserInfo;
import
com.liu.utils.DBFactory;
public
class
UserTest {
SqlSession session =
null
;
UserInfoMapper mapper =
null
;
@Before
public
void
testBefore() {
session = DBFactory.getSession();
mapper = session.getMapper(UserInfoMapper.
class
);
}
@After
public
void
testAfter() {
session.close();
}
@Test
public
void
select1() {
List<HashMap> list = mapper.getUserList();
System.out.println(list.size());
for
(HashMap map : list) {
System.out.println(
"编号"
+ map.get(
"user_id"
) +
" 姓名: "
+ map.get(
"user_name"
) +
" 性别:"
+ map.get(
"user_sex"
));
}
}
@Test
public
void
select2() {
UserInfo puser =
new
UserInfo();
puser.setUserId(
4
);
List<UserInfo> list = mapper.selectUser(puser);
System.out.println(list.size());
for
(UserInfo user : list) {
System.out.println(user);
}
}
@Test
public
void
select3() {
UserInfo user = mapper.selectOneUser(
4
,
"王五他爸"
);
System.out.println(user);
}
@Test
public
void
addUser() {
try
{
UserInfo user =
new
UserInfo();
user.setUserName(
"悟空的儿子"
);
user.setUserSex(
"男"
);
int
count = mapper.addUser(user);
if
(count >
0
) {
session.commit();
// 提交
System.out.println(
"成功"
);
}
}
catch
(Exception e) {
session.rollback();
e.printStackTrace();
}
}
@Test
public
void
updateUser() {
try
{
UserInfo user =
new
UserInfo();
user.setUserId(
7
);
user.setUserName(
"小芳的孙子"
);
user.setUserSex(
"男"
);
int
count = mapper.updateUser(user);
if
(count >
0
) {
session.commit();
// 提交
System.out.println(
"成功"
);
}
}
catch
(Exception e) {
session.rollback();
e.printStackTrace();
}
}
@Test
public
void
deleteUser() {
try
{
int
count = mapper.deleteUser(
3
);
if
(count >
0
) {
session.commit();
// 提交
System.out.println(
"成功"
);
}
}
catch
(Exception e) {
session.rollback();
e.printStackTrace();
}
}
}
|
版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任
本文转自 l363130002 51CTO博客,原文链接:http://blog.51cto.com/liuyj/1609905