原文链接
0.前言
最近在学习使用ssm框架,整合过程比较麻烦,先把基础使用部分整理出来,这篇文章只是使用了mybatis连接数据库进行查询操作,主要来熟悉mybatis和数据库部分的操作。
IDEA:2020.2.1
mysql:8.0.21
步骤如下:
1.新建maven工程
2.添加必要依赖
3. 连接数据库,编写实体类
4. 编写Mapper.xml(sql语句)
5.编写数据库配置文件
6.编写测试类
1.新建一个maven工程
新建一个项目,选择好JDK版本,直接点击Next。(注意,此处不需要web环境,所以直接搭建就可以)
选择名称和位置,点击Finish
新建完的maven工程后的目录结构如下:
2.添加坐标(依赖)
打开prom.xml,添加依赖(坐标)。把下面内容赋值到prom.xml文件中保存即可
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
</dependencies>
点击右侧的这个小图标,进行刷新操作,依赖就会添加了。
3.链接数据库
首先你要有个mysql数据库,如果没有的话,可以点击看如何下载安装配置。
执行下面这个sql脚本就会产生数据或者点击这里看如何生成测试数据。
DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`stu_name` varchar(20) NOT NULL ,
`stu_sex` varchar(10) NOT NULL ,
`class_id` int(10) NOT NULL ,
`age` int(10) NOT NULL DEFAULT 18,
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;
insert into students (stu_name,stu_sex,class_id,age) values
('张三','男',1001,18),
('王晓红','女',2001,20),
('李清乐','男',1001,23),
('赵倚天','男',3001,23);
然后用IDEA自带的数据库连接软件进行连接操作
填写必要信息,点击测试连接
如果点击测试连接的时候出现“服务器返回无效的时区。需要设置 ‘serverTimezone’ 属性”点击这里解决。
在main下新建一个我们的目录文件。
新建一个实体类,跟数据库的表名对应。注意,类名首字母一般大写。
package com.cat.pojo;
import lombok.Data;
@Data //加上Data就不用写get和set方法了
public class Students {
private int id;
private String stu_name;
private String stu_sex;
private int class_id;
private int age;
}
4.编写mapper.xml(sql语句)
上面我们创建完了实体类,下面开始写xml配置,sql语句。我们新建包,然后在包下面新建一个studentsMapper.xml文件。注意这里建包规则和上面不同这里要写成com/cat/mapper。而上面的要写成com.cat.xxx 这种形式。
<?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.cat.mapper">
<select id="listAllStudents" resultType="com.cat.pojo.Students">
select * from students;
</select>
</mapper>
5.编写数据库配置文件(MyBatisConfig.xml)
这里的名字无所谓,知道每个文件的功能别写错了就行。不明白这个文件的可以点击这里看
特别要注意不要写错了。
<?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 >
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/myapp"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/cat/mapper/StudentsMapper.xml"/>
</mappers>
</configuration>
6.编写测试类
我们开始编写一个测试类,用来测试我们是否可以正常从数据库中取出数据。
package com.cat.test;
import com.cat.pojo.Students;
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 org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest {
@Test
public void test() throws IOException{
InputStream in = Resources.getResourceAsStream("MyBatisConfig.xml");
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(in);
SqlSession session =factory.openSession();
List<Students> students =session.selectList("com.cat.mapper.listAllStudents");
System.out.println(students);
session.close();
}
}
写完了之后,我们点击旁边绿色的小箭头。
可以看出这里已经输出数据库的信息了。
7.后记
这篇文章记录了使用mybatis连接数据库并从数据库中取出信息。核心配置文件一共就两个,一个是sql语句文件,一个是mybatis数据库配置文件。但是我们在测试的时候可发现,我们调用一个sql语句,就需要写大量的SqlSession,十分繁琐,所以后期我们用spring来进行整合操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)