- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章详解Mybatis模板(已优化)适合小白由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1.搭建数据库(我用的是mysql 5.5) 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#创建一个mybatis数据库
create database `mybatis`;
#使用mybatis数据库
use `mybatis`;
#创建一个user表,有id、username、password三个字段
create table `user`(
`id`
int
(
10
) not
null
primary key auto_increment,
`username` varchar(
30
)
default
null
,
`password` varchar(
30
)
default
null
)engine=InnoDB
default
charset=utf8;
#插入数据
insert into `user`(`username`,`password`) values
(
'张三'
,
123456
),
(
'李四'
,
123456
),
(
'王五'
,
123456
);
|
2.导入mybatis相关的jar包(COPY,建议创建一个父子项目) 。
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
|
<dependencies>
<dependency>
<!--mysql依赖包-->
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>
8.0
.
19
</version>
</dependency>
<!--mybatis依赖包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>
3.4
.
2
</version>
</dependency>
<!--junit依赖包,为什么要用junit依赖包?
@Test
做单元测试用的-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>
4.12
</version>
</dependency>
</dependencies>
<!--maven静态资源过滤问题:配置报错,不设置会报错:ExceptionInInitializerError-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**
/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/
*.xml</include>
</includes>
<filtering>
true
</filtering>
</resource>
</resources>
</build>
|
3.编写MyBatisUtil工具类(COPY,低层原理还没有搞懂,直接复制的条件是要创建一个mybatis-config.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
|
package
com.kuang.utils;
import
org.apache.ibatis.io.Resources;
import
org.apache.ibatis.session.SqlSession;
import
org.apache.ibatis.session.SqlSessionFactory;
import
org.apache.ibatis.session.SqlSessionFactoryBuilder;
import
java.io.IOException;
import
java.io.InputStream;
public
class
MybatisUtil {
private
static
SqlSessionFactory sqlSessionFactory;
static
{
try
{
String resource =
"mybatis-config.xml"
;
InputStream inputStream = Resources.getResourceAsStream(resource);
//SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);因为重复定义导致空指针异常
sqlSessionFactory =
new
SqlSessionFactoryBuilder().build(inputStream);
}
catch
(IOException e) {
e.printStackTrace();
}
}
public
static
SqlSession getSqlSession(){
return
sqlSessionFactory.openSession();
}
}
|
4.1编写db.properties配置文件(COPY,是后来优化的) 。
1
2
3
4
|
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:
//localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username=root
password=root
|
4.2编写MyBatis核心配置文件(COPY,mybatis-config.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
|
<?xml version=
"1.0"
encoding=
"UTF8"
?>
<!DOCTYPE configuration
PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"
>
<configuration>
<environments
default
=
"development"
>
<environment id=
"development"
>
<transactionManager type=
"JDBC"
/>
<dataSource type=
"POOLED"
>
<!--第一个问题:
com.mysql.jdbc.Driver和mysql-connector-java
5
一起用。
com.mysql.cj.jdbc.Driver和mysql-connector-java
6
+ 一起用。
第二个问题:
serverTimezone=Asia/Shanghai 要加时区,不加时区会报错
-->
<property name=
"driver"
value=
"${driver}"
/>
<property name=
"url"
value=
"${url}"
/>
<property name=
"username"
value=
"${username}"
/>
<property name=
"password"
value=
"${passwprd}"
/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource=
"com/super/dao/UserMapper.xml"
/>
</mappers>
</configuration>
|
5.编写User实体类 。
1
2
3
4
5
6
7
8
9
10
11
|
public
class
User {
private
int
id;
//id
private
String name;
//姓名
private
String pwd;
//密码
//构造,有参,无参
//set/get
//toString()
}
|
6.编写Mapper接口类(Mapper.java) 。
1
2
3
4
5
6
7
8
9
|
package
com.kuang.dao;
import
com.kuang.pojo.User;
import
java.util.List;
public
interface
Mapper {
List<User> getUserList();
}
|
7.编写mapper.xml配置文件 。
1
2
3
4
5
6
7
8
9
|
<?xml version=
"1.0"
encoding=
"UTF8"
?>
<!DOCTYPE mapper
PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"
>
<mapper namespace=
"com.super.dao.UserDao"
>
<select id=
"getUserList"
resultType=
"com.kuang.pojo.User"
>
select * from mybatis.user;
</select>
</mapper>
|
8.编写测试类 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package
com.kuang.dao;
import
com.kuang.pojo.User;
import
com.kuang.utils.Mybatise;
import
org.apache.ibatis.session.SqlSession;
import
org.junit.Test;
import
java.util.List;
public
class
UserDaoTest {
@Test
public
void
test(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(Mapper.
class
);
List<User> userList = mapper.getUserList();
for
(User user:userList){
System.out.println(user);
}
//sqlSession.commit();增删改需要添加事务
sqlSession.close();
}
}
|
到此这篇关于Mybatis模板(已优化)适合小白的文章就介绍到这了,更多相关Mybatis模板内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/qq_41040871/article/details/114774681 。
最后此篇关于详解Mybatis模板(已优化)适合小白的文章就讲到这里了,如果你想了解更多关于详解Mybatis模板(已优化)适合小白的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
在网上看见许多matplotlib的安装教程都是比较复杂,需要配置许多环境,对于电脑基础不好的人来说可是一件头疼的事情,今天我介绍一个简单的安装方法。 1.Win+R输入cmd进入到CMD窗口下,
private final int NUM_SOUND_FILES = 4; private Random rnd = new Random(4); private int mfile[] = n
我有一个名为 animals.dat 的输入文件,我需要我的程序以 block 格式读取和输出文件。例如,文件内容如下: 老虎狗猫 需要输出 TTTTTTTTTTTTTTTTTTTTTT(T 将是 1
前言 在现在这个网络越发便捷的社会,各种网络勒索病毒层出不穷,即使是Google浏览器也是在不断的更新版本修复漏洞。很多人认为只有Windows系统才容易中病毒,若使用Linux系统就不容易中
该代码是返回数组中最大数字的程序的一部分。有人可以解释以下内容吗?谢谢 if (parseInt(nums[0]) < parseInt(nums[1])) { nums.splice(0,1);
01. vmware workstation pro15下载 下载:vmware workstation pro15下载 02. vmware workstation pro15安装 第一
您好,这是 android studio 的新手,我遇到了这个错误,有人可以帮忙吗?我无法弄清楚如何解决这个错误。它说 MainActivity 是一个未解析的类 activity_main.xml
我关注了this tutorial 。 我有 3 个文件: package.json { "name": "greeter-bot", "version": "1.0.0", "description
我试着按照这个 http://net.tutsplus.com/tutorials/javascript-ajax/an-introduction-to-the-raphael-js-library/
基本上,我是一个 plone 网站的管理员,我想尝试 plone.css 中的更改,以及基本属性和 ploneCustom.css 中的其他内容,用于我的附加元素。 我希望能够快速从我的自定义 css
我是一名优秀的程序员,十分优秀!