Mybatis注解写法

1.普通增删改查

使用表:User

在mybatis-config.xml里配置

1
<mapper class="org.fkit.mapper.UserMapper"/>

注释掉原来的xml配置路径。
注解java类:

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
//UserMapper.java
package org.fkit.mapper;

import org.apache.ibatis.annotations.*;
import org.fkit.domain.Clazz;
import org.fkit.domain.User;

import java.util.List;

public interface UserMapper {

@Insert("insert into tb_user(name,sex,age) values(#{name},#{sex},#{age})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int saveUser(User user);

@Delete("delete from tb_user where id = #{id} or name = #{cctv}")
int removeUser(@Param("id") Integer id, @Param("cctv") String n);

@Update("update tb_user set name = #{name},sex = #{sex}, age = #{age} where id = #{id}")
void modifyUser(User user);

@Select("select * from tb_user where id = #{id}")
@Results({
@Result(id = true, column = "id", property = "id"),
@Result(column = "name", property = "name"),
@Result(column = "sex", property = "sex"),
@Result(column = "age", property = "age")
})
User selectUserById(Integer id);

@Select("select * from tb_user")
List<User> selectAllUser();
}

测试:

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
//InsertTest.java
public class InsertTest {
public static void main(String args[]){
SqlSession sqlSession = FKSqlSessionFactory.getSqlSession();
User user = new User("1111jack", "男", 22);
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.saveUser(user);
sqlSession.commit();
sqlSession.close();
}
}
//output:
DEBUG [main] - ==> Preparing: insert into tb_user(name,sex,age) values(?,?,?)
DEBUG [main] - ==> Parameters: 1111jack(String), 男(String), 22(Integer)
DEBUG [main] - <== Updates: 1


//DeleteTest.java
public class DeleteTest {
public static void main(String args[]){
SqlSession sqlSession = FKSqlSessionFactory.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.removeUser(16,"jack");
sqlSession.commit();
sqlSession.close();
}
}
//output:
DEBUG [main] - ==> Preparing: delete from tb_user where id = ? or name = ?
DEBUG [main] - ==> Parameters: 16(Integer), jack(String)
DEBUG [main] - <== Updates: 1

//UpdateTest.java
public class UpdateTest {
public static void main(String args[]){
SqlSession sqlSession = FKSqlSessionFactory.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.selectUserById(12);

user.setName("hello?");
userMapper.modifyUser(user);
sqlSession.commit();
sqlSession.close();
}
}
//output:
DEBUG [main] - ==> Preparing: select * from tb_user where id = ?
DEBUG [main] - ==> Parameters: 12(Integer)
DEBUG [main] - <== Total: 1
DEBUG [main] - ==> Preparing: update tb_user set name = ?,sex = ?, age = ? where id = ?
DEBUG [main] - ==> Parameters: hello?(String), 男(String), 26(Integer), 12(Integer)
DEBUG [main] - <== Updates: 1

//SelectTest.java
public class SelectTest {
public static void main(String args[]){
SqlSession sqlSession = FKSqlSessionFactory.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.selectUserById(12);
System.out.println(user);
sqlSession.commit();
sqlSession.close();
}
}
//output:
DEBUG [main] - ==> Preparing: select * from tb_user where id = ?
DEBUG [main] - ==> Parameters: 12(Integer)
DEBUG [main] - <== Total: 1
User{id=12, name='hello?', sex='男', age=26}

//SelectMapTest.java
public class SelectMapTest {
public static void main(String args[]) {
SqlSession sqlSession = FKSqlSessionFactory.getSqlSession();
// 获取user对象集
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

List<User> users = userMapper.selectAllUser();
for (User user : users) {
System.out.println(user);
}
sqlSession.commit();
sqlSession.close();
}
}
//output:
DEBUG [main] - ==> Preparing: select * from tb_user
DEBUG [main] - ==> Parameters:
DEBUG [main] - <== Total: 10
User{id=1, name='hello?', sex='g', age=11}
User{id=4, name='gg', sex='男', age=26}
User{id=5, name='gg', sex='男', age=26}
User{id=6, name='gg', sex='男', age=26}
User{id=7, name='gg', sex='男', age=26}
User{id=8, name='gg', sex='男', age=26}
User{id=9, name='gg', sex='男', age=26}
User{id=10, name='gg', sex='男', age=26}
User{id=11, name='gg', sex='男', age=26}
User{id=12, name='hello?', sex='男', age=26}

-------------本文结束 感谢您的阅读-------------