MyBatis 配置及实现 CURD 操作
来源:互联网 发布:佳能网络打印机驱动 编辑:程序博客网 时间:2024/06/05 18:58
本文摘抄自网络
MyBatis 的前身就是 iBatis 。是一个数据持久层(ORM)框架。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
一、前提条件
建立表:admin_login_id
数据库结构
int log_id 主键
int admin_id
varchar login_time
domain:
01
package
com;
02
03
import
java.util.Date;
04
05
/**
06
* @function :
07
* @author :jy
08
* @company :万里网
09
* @date :2011-7-31
10
*/
11
public
class
Logs {
12
public
int
log_id;
13
public
int
admin_id;
14
public
Date login_time;
15
16
public
int
getLog_id() {
17
return
log_id;
18
}
19
public
void
setLog_id(
int
log_id) {
20
this
.log_id = log_id;
21
}
22
public
int
getAdmin_id() {
23
return
admin_id;
24
}
25
public
void
setAdmin_id(
int
admin_id) {
26
this
.admin_id = admin_id;
27
}
28
public
Date getLogin_time() {
29
return
login_time;
30
}
31
public
void
setLogin_time(Date login_time) {
32
this
.login_time = login_time;
33
}
34
@Override
35
public
String toString() {
36
return
"Logs [log_id="
+ log_id +
", admin_id="
+ admin_id +
", login_time="
+ login_time +
"]"
;
37
}
38
39
}
二、下面开始配置MyBatis
1.MyBatis总配置文件
01
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
03
"http://mybatis.org/dtd/mybatis-3-config.dtd">
04
05
<
configuration
>
06
<
typeAliases
>
07
<
typeAlias
alias
=
"Logs"
type
=
"com.Logs"
/>
08
</
typeAliases
>
09
<
environments
default
=
"development"
>
10
<
environment
id
=
"development"
>
11
<
transactionManager
type
=
"JDBC"
/>
12
<
dataSource
type
=
"POOLED"
>
13
<
property
name
=
"driver"
value
=
"com.mysql.jdbc.Driver"
/>
14
<
property
name
=
"url"
value
=
"jdbc:mysql://localhost:3306/manage?characterEncoding=UTF-8"
/>
15
<
property
name
=
"username"
value
=
"root"
/>
16
<
property
name
=
"password"
value
=
""
/>
17
</
dataSource
>
18
</
environment
>
19
</
environments
>
20
21
<
mappers
>
22
<
mapper
resource
=
"com/LogsMapper.xml"
/>
23
</
mappers
>
24
</
configuration
>
2.实体映射文件
01
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
03
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
04
05
<
mapper
namespace
=
"com.LogsDAO"
>
06
07
<
select
id
=
"queryAllLogs"
resultType
=
"com.Logs"
>
08
SELECT
09
log_id,
10
admin_id,
11
login_time
12
FROM admin_login_log
13
</
select
>
14
15
<
select
id
=
"queryStudentById"
resultType
=
"Logs"
parameterType
=
"int"
>
16
SELECT
17
log_id,
18
admin_id,
19
login_time
20
FROM admin_login_log
21
WHERE
22
log_id=#{log_id}
23
</
select
>
24
25
<
insert
id
=
"addLog"
parameterType
=
"Logs"
>
26
INSERT INTO admin_login_log
27
(log_id, admin_id, login_time)
28
VALUES
29
(log_id, #{admin_id}, #{login_time})
30
</
insert
>
31
32
<
delete
id
=
"deleteLogById"
parameterType
=
"int"
>
33
DELETE FROM
34
admin_login_log
35
WHERE
36
log_id=#{log_id}
37
</
delete
>
38
39
<
select
id
=
"queryLogsByAdminId"
parameterType
=
"string"
resultType
=
"Logs"
>
40
SELECT
41
log_id,
42
admin_id,
43
login_time
44
FROM
45
admin_login_log
46
WHERE
47
admin_id like #{admin_id}
48
</
select
>
49
</
mapper
>
三、建立DAO接口
01
package
com;
02
03
import
java.util.List;
04
05
/**
06
* @function :
07
* @author :jy
08
* @company :万里网
09
* @date :2011-7-31
10
*/
11
public
interface
LogsDAO {
12
public
void
addLog(Logs log);
13
14
public
void
deleteLogById(
int
id);
15
16
public
void
updateStudentById(Logs log);
17
18
public
List<Logs> queryAllLogs();
19
20
public
Logs queryStudentById(
int
id);
21
22
public
List<Logs> queryLogsByAdminId(String admin_id);
23
}
四、建立SqlSessionFactory实例,并实现LogsDAO接口
01
package
com;
02
03
import
java.io.IOException;
04
import
java.io.Reader;
05
import
java.util.List;
06
07
import
org.apache.ibatis.io.Resources;
08
import
org.apache.ibatis.session.SqlSession;
09
import
org.apache.ibatis.session.SqlSessionFactory;
10
import
org.apache.ibatis.session.SqlSessionFactoryBuilder;
11
12
/**
13
* @function :
14
* @author :jy
15
* @company :万里网
16
* @date :2011-7-31
17
*/
18
public
class
LogsDAOImpl
implements
LogsDAO {
19
private
static
SqlSession session =
null
;
20
private
static
LogsDAO mapper =
null
;
21
22
static
{
23
String resoure =
"com/ibatisConfiguration.xml"
;
24
Reader reader =
null
;
25
try
{
26
reader = Resources.getResourceAsReader(resoure);
27
}
catch
(IOException e) {
28
e.printStackTrace();
29
}
30
31
SqlSessionFactory sqlSessionFactory =
new
SqlSessionFactoryBuilder().build(reader);
32
session = sqlSessionFactory.openSession();
33
mapper = session.getMapper(LogsDAO.
class
);
34
35
try
{
36
reader.close();
37
}
catch
(IOException e) {
38
e.printStackTrace();
39
}
40
}
41
42
/* (non-Javadoc)
43
* @see com.LogsDAO#addLog(com.Logs)
44
*/
45
@Override
46
public void addLog(Logs log) {
47
mapper.addLog(log);
48
49
session.commit();
50
}
51
52
/* (non-Javadoc)
53
* @see com.LogsDAO#deleteLogById(int)
54
*/
55
@Override
56
public void deleteLogById(int id) {
57
mapper.deleteLogById(id);
58
59
session.commit();
60
}
61
62
/* (non-Javadoc)
63
* @see com.LogsDAO#updateStudentById(com.Logs)
64
*/
65
@Override
66
public void updateStudentById(Logs log) {
67
68
69
}
70
71
/* (non-Javadoc)
72
* @see com.LogsDAO#queryAllLogs()
73
*/
74
@Override
75
public List<Logs> queryAllLogs() {
76
List<Logs> logs = mapper.queryAllLogs();
77
78
return logs;
79
}
80
81
/* (non-Javadoc)
82
* @see com.LogsDAO#queryStudentById(int)
83
*/
84
@Override
85
public Logs queryStudentById(int id) {
86
Logs logs = mapper.queryStudentById(id);
87
88
return logs;
89
}
90
91
/* (non-Javadoc)
92
* @see com.LogsDAO#queryLogsByAdminId(java.lang.String)
93
*/
94
@Override
95
public
List<Logs> queryLogsByAdminId(String admin_id) {
96
return
mapper.queryLogsByAdminId(admin_id);
97
}
98
99
}
五、测试
01
package
test;
02
03
import
java.io.IOException;
04
05
import
com.Logs;
06
import
com.LogsDAOImpl;
07
08
/**
09
* @function :
10
* @author :jy
11
* @company :万里网
12
* @date :2011-7-31
13
*/
14
public
class
Test {
15
16
/**
17
* @param args
18
* @throws IOException
19
*/
20
public
static
void
main(String[] args)
throws
IOException {
21
// TODO Auto-generated method stub
22
LogsDAOImpl logs =
new
LogsDAOImpl();
23
24
// System.out.println(logs.queryAllLogs());
25
26
// Logs log = logs.queryStudentById(2);
27
28
// System.out.println(log);
29
30
31
//addlog
32
Logs log =
new
Logs();
33
34
log.setAdmin_id(
1
);
35
36
log.setLog_id(
10
);
37
38
log.setLogin_time(
new
java.util.Date());
39
40
logs.addLog(log);
41
42
//deleteLog
43
logs.deleteLogById(
5
);
44
45
System.out.println(logs.queryLogsByAdminId(
"%1%"
));
46
}
47
48
}
- MyBatis配置及实现CURD操作
- MyBatis 配置及实现 CURD 操作
- Mybatis实现数据CURD操作实例
- Mybatis实现数据CURD操作实例--续
- Mybatis curd操作
- mybatis 实现 curd总结
- mybatis的基础curd操作
- Mybatis注解方式实现CURD
- Mybatis实现CURD代码篇
- MyBatis入门配置及操作
- java操作mongoDB实现CURD
- mysql数据库实现CURD操作
- mybatis curd
- mybatis实现原理及配置
- Mongodb安装及简单的CURD操作
- 一行代码实现FMDB的CURD操作
- Hibernate工具类,实现CURD操作
- Hibernate工具类,实现CURD操作
- 学习 Linux高级编程05_B
- 0长度char数组的使用
- Linux中.a,.la,.o,.so文件的意义和编程实现
- 【因为你已不能再继续陪在我身边】
- Android UI开发第二十九篇——Android中五种常用的menu(菜单)
- MyBatis 配置及实现 CURD 操作
- 相关矩阵
- NQueens II
- ORA-01078 LRM-00109错误
- 利用开源的Gearman框架构建分布式图片处理平台
- IOS不错的教程
- android wait notify实现线程挂起与恢复
- ajax实现跨域访问的问题
- Android 资源名称(name)和id互相转换,动态获取