如何用mybatis链接数据库

 

用mybatis链接数据库十分的方便,这里总结一下具体的步骤。

1.首先创建一个maven项目

如何用mybatis链接数据库_第1张图片

在pom.xml导入依赖

 1 
 2         
 3             org.mybatis
 4             mybatis
 5             3.4.4
 6         
 7         
 8             mysql
 9             mysql-connector-java
10             5.1.47
11         
12         
13             c3p0
14             c3p0
15             0.9.1.2
16         
17 
18     

2.在resources目录创建mybatis配置文件名字叫做mybatis-config.xml 。

在mybatis-config.xml中根据自己的需要设置一些setting,配置相应的环境,还有映射文件。

 1 
 2         DOCTYPE configuration
 3                 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4                 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 
 6 
 7 
 8 
 9 
10     
11     
12     
13 
14 
15 default="development">
16     
17         
18         
19             
20             
21             
22             
23             
24         
25     
26 
27 
28 
29     
30 
31 

注意:这个地方的xml文件就是一会要写sql语句的xml,这个路径根据自己的配置进行调整。

3.在resources下配置一个properties

这个用来写你数据库连接的host、user、password

如何用mybatis链接数据库_第2张图片

 

4.在java下创建一个包,里面写dao层的接口。【我这个包起名的时候很蠢,大家一定按照规则写包名!!

如何用mybatis链接数据库_第3张图片

dataDao接口就是用来接收数据库中的数据的格式问题。

举个例子:我自己的数据库里是一个含有年级的学生信息(里面有id name 年级 分数等等)

我要取出所有年级为高中的学生信息。

1 package org.seckill.mapper;
2 
3 import org.seckill.entity.Data;
4 
5 import java.util.List;
6 
7 public interface dataDao {
8     List selectAll(String grade);
9 }

通过传参数grade:小学/初中/高中  ,最后从数据库导出的时候,就会被封装为Data类型的一个列表。

那么:::Data数据类型是什么?

如何用mybatis链接数据库_第4张图片

我在entity包中创建了一个Data类,就是把所有的一条sql语句中的id、name、年级、分数等封装在一起。。(这个大家都懂)

Data类里面有:

1     private Long id;
2     private int mark;
3     private String names;

等等,包括他们的get、set方法。

5. 在同样的mapper包下面,闯将一个dataDao的xml与接口对应。dataDao.xml里面是用来写sql的。

 


DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    
    

namespace是对应的接口名字。#{grade}就是第4步在dataDao中传入的年级。

 

6.由于只用了mybatis,所以我们需要自己创建会话工厂

在主函数中,或者单独写一个函数封装连接功能。

 1 String resource = "mybatis-config.xml";
 2         InputStream inputStream = null;
 3         SqlSession session = null;
 4         List all = null;
 5         try {
 6             inputStream = Resources.getResourceAsStream(resource);
 7             //使用流对象创建一个会话工厂
 8             SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(inputStream);
 9             //session就是程序员与数据库交互的入口
10             session = sf.openSession();
11             dataDao mapper = session.getMapper(dataDao.class);
12             all = mapper.selectAll("高中");
13         } catch (IOException e) {
14             e.printStackTrace();
15         } finally {
16             session.commit();
17             //关闭会话,释放资源
18             session.close();
19         }

 最后所有拿到的数据就被放在

List all

这个list中了,就可以进一步进行处理。

这样mybatis就链接mysql就完事了



 

转载于:https://www.cnblogs.com/levontor/p/11151341.html

你可能感兴趣的:(如何用mybatis链接数据库)