- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章MyBaits 入门之MyBatis环境搭建(第一篇)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
MyBatis 简介 。
MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.
下面分步骤给搭建介绍mybatis 环境搭建.
1)在工程下引入mybatis-3.4.1.jar包,再引入数据库(mysql,mssql..)包. 。
2)在src下新建一个配置文件conf.xml 。
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>
<!-- 引入外部配置文件 -->
<properties resource=
"jdbc.properties"
/>
<!-- 配置mybatis运行环境 -->
<environments
default
=
"development"
>
<environment id=
"development"
>
<!-- type=
"JDBC"
代表使用JDBC的提交和回滚来管理事务 -->
<transactionManager type=
"JDBC"
/>
<!-- mybatis提供了
3
种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<dataSource type=
"POOLED"
>
<property name=
"driver"
value=
"${driver}"
/>
<property name=
"url"
value=
"${url}"
/>
<property name=
"username"
value=
"${username}"
/>
<property name=
"password"
value=
"${password}"
/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource=
"userMapper.xml"
/>
</mappers>
</configuration>
|
这里是通过外部配置文件来存储数据库存信息的,所以加入一个jdbc.properties的数据库存信息 。
1
2
3
4
|
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver:
//127.0.0.1;databaseName=test
username=sa
password=
123456
|
3)建立一个映射文件 userMapper.xml 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?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=
"hw.com.ser.IUser"
>
<!-- 查询全部用户 -->
<select id=
"queryUsers"
resultType=
"hw.com.pojo.User"
>
select * from MS_User
</select>
<selectid=
"queryUserById"
resultType=
"hw.com.pojo.User"
parameterType=
"int"
>
Select * From Ms_User Where id=#{id}
</select>
</mapper>
|
(这里要注意的是,namespace属性,因为,此实例是通过接口映射的方式,所以,namespace属性一点要写成接口的路径)附图:
4)建一个映射接口类 。
1
2
3
4
5
6
7
|
package
hw.com.ser;
import
java.util.List;
import
hw.com.pojo.User;
public
interface
IUser {
public
List<User> queryUsers();
public
User queryUserById(
int
id);
}
|
5)建立一个SqlSessionFactory 。
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
|
package
hw.com.util;
import
java.io.IOException;
import
java.io.InputStream;
import
java.io.InputStreamReader;
import
java.io.Reader;
import
java.util.Properties;
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
SqlSessionFactoryUtil {
private
static
SqlSessionFactory sqlSessionFactory =
null
;
private
static
final
Class CLASS_LOCK = SqlSessionFactoryUtil.
class
;
private
SqlSessionFactoryUtil() {
}
public
static
SqlSessionFactory initSqlSessionFactory() {
String resource =
"conf.xml"
;
InputStream inputStream =
null
;
try
{
inputStream = Resources.getResourceAsStream(resource);
}
catch
(IOException e) {
e.printStackTrace();
}
synchronized
(CLASS_LOCK) {
if
(sqlSessionFactory ==
null
) {
sqlSessionFactory =
new
SqlSessionFactoryBuilder().build(inputStream);
}
}
return
sqlSessionFactory;
}
public
static
SqlSession openSqlSession(){
if
(sqlSessionFactory==
null
){
initSqlSessionFactory();
}
return
sqlSessionFactory.openSession();
}
}
|
6)建一个pojo 。
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
|
package
hw.com.pojo;
import
java.util.Date;
public
class
User {
private
String Id;
private
String UserName;
private
String UserPwd;
private
int
DeptmentId;
private
String UserTrueName;
private
String Email;
private
int
LearnCenterId;
private
Date CreateDate;
private
Date LastModifyDate;
private
int
UserStatus;
public
User() {
super
();
// TODO Auto-generated constructor stub
}
public
String getId() {
return
Id;
}
public
void
setId(String id) {
Id = id;
}
public
String getUserName() {
return
UserName;
}
public
void
setUserName(String userName) {
UserName = userName;
}
public
String getUserPwd() {
return
UserPwd;
}
public
void
setUserPwd(String userPwd) {
UserPwd = userPwd;
}
public
int
getDeptmentId() {
return
DeptmentId;
}
public
void
setDeptmentId(
int
deptmentId) {
DeptmentId = deptmentId;
}
public
String getUserTrueName() {
return
UserTrueName;
}
public
void
setUserTrueName(String userTrueName) {
UserTrueName = userTrueName;
}
public
String getEmail() {
return
Email;
}
public
void
setEmail(String email) {
Email = email;
}
public
int
getLearnCenterId() {
return
LearnCenterId;
}
public
void
setLearnCenterId(
int
learnCenterId) {
LearnCenterId = learnCenterId;
}
public
Date getCreateDate() {
return
CreateDate;
}
public
void
setCreateDate(Date createDate) {
CreateDate = createDate;
}
public
Date getLastModifyDate() {
return
LastModifyDate;
}
public
void
setLastModifyDate(Date lastModifyDate) {
LastModifyDate = lastModifyDate;
}
public
int
getUserStatus() {
return
UserStatus;
}
public
void
setUserStatus(
int
userStatus) {
UserStatus = userStatus;
}
@Override
public
String toString() {
return
"User [Id="
+ Id +
", UserName="
+ UserName +
", UserPwd="
+ UserPwd +
", DeptmentId="
+ DeptmentId
+
", UserTrueName="
+ UserTrueName +
", Email="
+ Email +
", LearnCenterId="
+ LearnCenterId
+
", CreateDate="
+ CreateDate +
", LastModifyDate="
+ LastModifyDate +
", UserStatus="
+ UserStatus
+
"]"
;
}
}
|
7) 在main方法下做测试 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package
hw.com.Day1.main;
import
java.util.List;
import
org.apache.ibatis.session.SqlSession;
import
hw.com.pojo.User;
import
hw.com.ser.IUser;
import
hw.com.util.SqlSessionFactoryUtil;
public
class
UserTest {
public
static
void
main(String[] args) {
SqlSession sqlSession=
null
;
try
{
sqlSession=SqlSessionFactoryUtil.openSqlSession();
IUser iUser=sqlSession.getMapper(IUser.
class
);
List<User> users=iUser.queryUsers();
if
(users.size()>
0
){
for
(User user : users) {
System.out.println(user.toString());
}
}
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
|
原文链接:http://www.cnblogs.com/lijianhua/archive/2016/12/20/6201158.html 。
最后此篇关于MyBaits 入门之MyBatis环境搭建(第一篇)的文章就讲到这里了,如果你想了解更多关于MyBaits 入门之MyBatis环境搭建(第一篇)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1.概述 转载:MyBatis 二级缓存全详解 上一篇文章中我们介绍到了 MyBatis 一级缓存其实就是 SqlSession 级别的缓存,什么是 SqlSession 级别的缓存呢?一级缓存的本质
1.概述 转载:核心配置综述之StatementHandler 2.MyBatis 四大组件之StatementHandler StatementHandler 是四大组件中最重要的一个对象,负责操作
1.概述 转载:MyBatis 启动流程 MyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。My
1.概述 转载:MyBatis 基础搭建及架构概述 2.MyBatis 是什么? MyBatis是第一个支持自定义SQL、存储过程和高级映射的类持久框架。MyBatis消除了大部分JDBC的样板代码、
1.概述 转载:核心配置综述之 ParameterHandler MyBatis 四大核心组件我们已经了解到了两种,一个是 Executor ,它是MyBatis 解析SQL请求首先会经过的第一道关卡
1.概述 转载:核心配置综述之 ResultSetHandler 我们之前介绍过了MyBatis 四大核心配置之 Executor、StatementHandler、 ParameterHandler
如果我使用mybatis,我可以很容易地得到更新的行数,就像 update table set desc = 'xxx' where name = ? 但是,如果我想获取更新的行数,而不是计数,我该如
如何在MyBatis 3中使用小于等于 SELECT * FROM( SELECT * FROM TABLE1 WHERE COL1 =#{COL1,jdbc
我将 mybatis3.0.6 与 java 一起使用 哪个性能更好? [select id="getData" parameterType="Integer" resultType="Integer
我无法在 mybatis 中使用动态排序类型创建 SQL,如下例 select user_profile.user_profile_id, user_profile.first_name
这是一个流行的例子。 insert into ACCOUNT ( ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME, ACC_EMAIL )values (
我下载了MyBatis,文件夹中有一个mybatis-3.0.4-javadoc.jar,我解压并打开它,但它几乎是空的。 哪里可以找到MyBatis的API文档? 最佳答案 http://repo1
我正在尝试为 ArrayList 编写类型处理程序,但这给了我错误,任何人都可以帮助我。 我想将 ArrayList 作为 VARCHAR 存储在数据库中并将其检索为 ArrayList。 packa
目录 依赖 配置 CodeGenerator mybatis-plus-generator + clickhouse 自动生成代码 依赖
目录 三者实现对比 使用fluent mybatis 来实现上面的功能 换成mybatis原生实现效果 换成mybatis plus
例如,我有查询从员工中选择 ID、姓名、年龄、地址,而不是拥有员工对象列表。我希望有一个 map 列表,如 list{ map{ ("id", 123), ("name","jac
我在使 MyBatis (3.4.6) 工作时遇到一些麻烦。 我已将 mybatis-config.xml 文件放置在项目的 src/main/resources 文件夹中,但是当我运行单元测试时,出
我现在使用 Mybatis 和 spring-boot。我没有添加mybatis-config.xml。我根据说明通过 application.properties 为数据源和 mybatis 进行所
这是我的第一篇文章,用我糟糕的英语...... 我使用的是MyBatis3.0 在查询中,我使用 SqlBuilder 的方法如下: public class DataStatisticSqlBuil
主题:MyBatis:Boolean Paraeter:MyBatis 正在使用 Getter 内容: 大家好, 我一直在寻找解决我近乎简单的 MyBatis 问题的方法: 给定代码(仅必要部分):
我是一名优秀的程序员,十分优秀!