- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Spring Boot集成Mybatis的实例代码(简洁版)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
概述 。
现在互联网应用中,大部分还是使用mybatis来操作数据库的,本文介绍一下spring boot中如何集成mybatis.
上篇介绍了spring boot 直接用jar运行项目的方法,需要的朋友点击查看.
创建spring boot工程 。
在 spring boot 开篇-创建和运行 一文中有一个小节介绍了如何使用spring boot的组件来创建工程。如果要集成mybatis,只需要把mysql和mybatis这两个组件勾选一下即可.
当然也可以不通过这种方式,直接在pom.xml文件中添加依赖也是可以的。我选择的是直接在pom.xml文件中直接添加依赖这种方式.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
dependency>
<groupid>org.mybatis.spring.boot</groupid>
<artifactid>mybatis-spring-boot-starter</artifactid>
<version>
1.3
.
1
</version>
</dependency>
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<version>
5.1
.
34
</version>
</dependency>
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>druid</artifactid>
<version>
1.1
.
7
</version>
</dependency>
|
数据源使用阿里的druid。完整的pom.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
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
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<project xmlns=
"http://maven.apache.org/pom/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation=
"http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelversion>
4.0
.
0
</modelversion>
<groupid>com.springboot</groupid>
<artifactid>study</artifactid>
<version>
0.0
.
1
-snapshot</version>
<packaging>jar</packaging>
<name>study</name>
<description>demo project
for
spring boot</description>
<parent>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-parent</artifactid>
<version>
1.5
.
10
.release</version>
<relativepath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceencoding>utf-
8
</project.build.sourceencoding>
<project.reporting.outputencoding>utf-
8
</project.reporting.outputencoding>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupid>org.mybatis.spring.boot</groupid>
<artifactid>mybatis-spring-boot-starter</artifactid>
<version>
1.3
.
1
</version>
</dependency>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-web</artifactid>
</dependency>
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<version>
5.1
.
34
</version>
</dependency>
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>druid</artifactid>
<version>
1.1
.
7
</version>
</dependency>
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>fastjson</artifactid>
<version>
1.2
.
45
</version>
</dependency>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-test</artifactid>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-maven-plugin</artifactid>
</plugin>
</plugins>
</build>
</project>
|
创建table 。
1
2
3
4
5
|
create table `user` (
`id` bigint(
20
) not
null
auto_increment,
`name` varchar(
30
) not
null
default
''
,
primary key (`id`)
) engine=innodb auto_increment=
8
default
charset=utf8 comment=
'user信息'
;
|
创建entity 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package
com.springboot.entity;
public
class
user {
private
long
id;
private
string name;
public
long
getid() {
return
id;
}
public
void
setid(
long
id) {
this
.id = id;
}
public
string getname() {
return
name;
}
public
void
setname(string name) {
this
.name = name;
}
@override
public
string tostring() {
return
"user{"
+
"id="
+ id +
", name='"
+ name + '\
''
+
'}'
;
}
}
|
创建mybatis映射文件和repo 。
userrepo.java 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package
com.springboot.repo;
import
com.springboot.entity.user;
import
org.apache.ibatis.annotations.mapper;
import
org.springframework.stereotype.component;
import
java.util.list;
@component
@mapper
public
interface
userrepo {
int
insert(user user);
user selectbyprimarykey(
long
id);
int
updatebyprimarykey(user user);
int
deletebyprimarykey(
long
id);
list<user> selectall();
}
|
usermapper.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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?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.springboot.repo.userrepo"
>
<resultmap id=
"baseresultmap"
type=
"com.springboot.entity.user"
>
<id column=
"id"
property=
"id"
jdbctype=
"bigint"
/>
<result column=
"name"
property=
"name"
jdbctype=
"varchar"
/>
</resultmap>
<sql id=
"base_column_list"
>
id,
name
</sql>
<select id=
"selectbyprimarykey"
resultmap=
"baseresultmap"
parametertype=
"java.lang.long"
>
select
<include refid=
"base_column_list"
/>
from user
where id = #{id,jdbctype=bigint}
</select>
<select id=
"selectall"
resultmap=
"baseresultmap"
>
select
<include refid=
"base_column_list"
/>
from user
</select>
<update id=
"updatebyprimarykey"
parametertype=
"com.springboot.entity.user"
>
update user
<set>
<
if
test=
"name != null"
>
`name`= #{name,jdbctype=varchar},
</
if
>
</set>
where id = #{id,jdbctype=bigint}
</update>
<delete id=
"deletebyprimarykey"
parametertype=
"java.lang.long"
>
delete from user
where id = #{id,jdbctype=bigint}
</delete>
<insert id=
"insert"
parametertype=
"com.springboot.entity.user"
usegeneratedkeys=
"true"
keyproperty=
"id"
>
insert into user
<trim prefix=
"("
suffix=
")"
suffixoverrides=
","
>
name
</trim>
<trim prefix=
"values ("
suffix=
")"
suffixoverrides=
","
>
#{name,jdbctype=varchar}
</trim>
</insert>
</mapper>
|
编写application.properties 。
在spring boot为我们生成的application.properties文件中添加如下内容:
1
|
spring.datasource.name=spring_boot_study spring.datasource.url=jdbc:mysql:
//localhost:3306/test spring.datasource.username=root spring.datasource.password=xxxxxx spring.datasource.driver-class-name=com.mysql.jdbc.driver spring.datasource.type=com.alibaba.druid.pool.druiddatasource mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.springboot.entity
|
单元测试 。
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
|
package
com.springboot;
import
com.springboot.entity.user;
import
com.springboot.repo.userrepo;
import
org.junit.test;
import
org.junit.runner.runwith;
import
org.springframework.beans.factory.annotation.autowired;
import
org.springframework.boot.test.context.springboottest;
import
org.springframework.test.context.junit4.springrunner;
import
java.util.list;
@runwith
(springrunner.
class
)
@springboottest
public
class
usertest {
@autowired
private
userrepo userrepo;
@test
public
void
testinsert() {
user user =
new
user();
user.setname(
"test2"
);
userrepo.insert(user);
}
@test
public
void
testupdate() {
user user =
new
user();
user.setid(6l);
user.setname(
"test3"
);
userrepo.updatebyprimarykey(user);
}
@test
public
void
testdelete() {
userrepo.deletebyprimarykey(6l);
}
@test
public
void
testselectbyprimarykey() {
user user = userrepo.selectbyprimarykey(7l);
system.out.println(user);
}
@test
public
void
testselectall() {
list<user> userlist = userrepo.selectall();
system.out.println(userlist);
}
}
|
总结 。
以上所述是小编给大家介绍的spring boot集成mybatis的实例代码(简洁版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:http://blog.csdn.net/linsongbin1/article/details/79260946 。
最后此篇关于Spring Boot集成Mybatis的实例代码(简洁版)的文章就讲到这里了,如果你想了解更多关于Spring Boot集成Mybatis的实例代码(简洁版)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
从开发者的角度来看,Mac 版 Safari 和 Windows 版 Safari 有何不同? 我认为可以归结为评估两者之间的差异(如果我遗漏了什么,请更正): - 布局渲染 - Javascript
正如标题所说:Android 版 Chrome 和 iOS 版 Chrome 有什么区别。 我对两者进行了一些研究,但找不到关于该主题的任何最新信息。进行这项研究的原因是因为我正在研究某些 Web A
我有以下脚本可以获取您的地理位置并重定向您到 Google map : (function(){ navigator.geolocation.getCurrentPosition(function(p
我负责修复导航栏显示比应有的低 1 像素的问题。 查看网站后,我无法找到所报告的问题,直到我在 Mac 上进行了检查。 Firefox、Safari 等在 Mac 上运行良好,但 Chrome 是导致
我是典型的 .NET 开发人员(C# 是我的第一语言),几年前转向 ASP.NET MVC。现在是我职业生涯发生重大变化的新时期。如果我们看看 Web 开发的前景,我们可以看到新技术如何占领世界,而其
Grails 2.0 项目目前带有资源插件 1.1.5,它似乎有几个依赖问题(例如,参见 this post 的答案)。我正在使用 IntelliJ,虽然我将 BuildConfig.groovy 更
我有一个支持 android 2.3.3 的 android 项目。 但它也支持 sdk 版本 17。当我创建一个新 Activity 时,它会创建一个特定于版本 17 的 Activity 。 如何
有没有人有在 Android 设备上使用 pjsip 的经验?我看到几个非商业/测试项目使用它,所以我假设它可以完成,但没有一个有很好的记录。我认为 pjsip-jni 项目是一个不错的起点,但基本上
谁能告诉我在 Xcode (iPhone) 中执行以下操作的最佳方法是什么。 我有一个主导航屏幕,上面有一些按钮。当用户单击任何按钮时,他们将被带到带有更多选项按钮的子导航屏幕。在这里,他们单击任意一
我正在使用 JBoss Embedded beta3.SP10 版本,我正面临一个应该在某些 Hibernate 版本中修复的持久性错误。可悲的是,我不知道我的 JBoss Embedded 中使用的
我想在 android 中使用简单的 snmp get。我找到了 java 的代码并尝试在 android 中使用它。我还附加了 snmp4j.jar 文件用于 android。但是我得到了 Null
我的实现目标是: 可以通过一个或多个关键词搜索到文章。 可以通过文章的关键词列表查询到其相关文章。 查询到的结果依据相关程度降序排列。 查询速度要够快。(理论上关键词检索比全文检索要快很多的
我正在尝试创建一个允许我将视频从 iPhone 流式传输到服务器的应用程序。我目前关于如何做到这一点的理论是创建一系列 FFMpeg 文件并将它们发送到服务器。据我所知,我已经编译了 FFMpeg图书
这个问题在这里已经有了答案: Login failed in github for window (5 个回答) 7年前关闭。 当我安装 GitHub 时,我无法使用我的帐户凭据登录。 我收到错误 L
我需要在我的 iPad 项目中使用 Three20。我想知道 iPhone 版本的 Three20 项目是否可以直接在 iPad 上使用,还是应该等待这个时间线完成: http://three20.i
有人能做到吗 http://www.surina.net/soundtouch/适用于 iPhone? 简单的 Xcode 演示会很有帮助。 我只想通过一些音调操作来播放音效。谢谢克里斯 最佳答案 使
如何在iPhone中使用“speex”进行音频编码/解码?我没有在项目中添加框架。 最佳答案 这个blog entry: Compile Speex For iPhone克利夫顿·克雷格(Clifto
我想知道bonjour是公共(public)API还是私有(private)API?我们可以直接在我们的应用程序中使用它吗? 最佳答案 Bonjour 由 NSNetServices 和 CFNetS
••••• 已解决•••••该应用程序可用。只是花了一些时间才出现。我之所以将其视为测试版,是因为我的 Google 帐户用于 alpha 测试。如果您遇到同样的问题,只需从测试人员中删除您的帐户并等
我是 Android 编程初学者。 我在使用 Android 下载文件时遇到问题 我使用了 Httpost、Httpget 和 hhtpurlconnection前两个根本不起作用第三个两次无法下载
我是一名优秀的程序员,十分优秀!