mybatis怎么连接数据库?mybatis链接数据库方法

MyBatis 是一款优秀的持久层框架,它可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs映射成数据库中的记录。那mybatis怎么连接数据库?接下来我们就来给大家讲解一下这方面的内容。

1.首先创建一个maven项目


mybatis怎么连接数据库?mybatis链接数据库方法.jpg

在pom.xml导入依赖

<dependencies>        <dependency>            
<groupId>org.mybatis</groupId>            
<artifactId>mybatis</artifactId>            
<version>3.4.4</version>        </dependency>        
<dependency>            
<groupId>mysql</groupId>            
<artifactId>mysql-connector-java</artifactId>            
<version>5.1.47</version>        </dependency>        
<dependency>            
<groupId>c3p0</groupId>            
<artifactId>c3p0</artifactId>            
<version>0.9.1.2</version>        </dependency>
    </dependencies>

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

1.jpg

2.jpg

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

<?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"></properties>
<!-- 设置驼峰匹配 
-->
<settings>
    <setting name="mapUnderscoreToCamelCase" 
value="true"/>
    <!-- 打印查询语句 -->
    <setting name="logImpl" 
value="STDOUT_LOGGING" />
</settings>
<!-- 
配置环境:可以配置多个环境,default:配置某一个环境的唯一标识,表示默认使用哪个环境 -->
<environments 
default="development">
    <environment id="development">
        
<transactionManager type="JDBC"/>
        <dataSource 
type="POOLED">
            <!-- 配置连接信息 -->
            
<property name="driver" value="${jdbc.driver}"/>
            
<property name="url" value="${jdbc.url}"/>
            <property 
name="username" value="${jdbc.username}"/>
            <property 
name="password" value="${jdbc.password}"/>
        
</dataSource>
    
</environment>
</environments>
<!-- 配置映射文件:用来配置sql语句和结果集类型等 
-->
<mappers>
    <mapper 
resource="org/seckill/mapper/dataDao.xml"/>
</mappers>
</configuration>

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

3.jpg

3.在resources下配置一个properties

4.jpg

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

5.jpg

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

6.jpg

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

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

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

package org.seckill.mapper;
import org.seckill.entity.Data;
import java.util.List;
public interface dataDao {    List<Data> selectAll(String 
grade);}

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

那么Data数据类型是什么?

7.jpg

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

Data类里面有:

 private Long id;private int mark;private String names;

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

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

8.jpg

<?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="org.seckill.mapper.dataDao">
    <!--查询所有-->
    
<select id="selectAll" parameterType="String" 
resultType="org.seckill.entity.Data">
        select  * from A where 
grade=#{grade};
    </select>
</mapper>

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

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

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

String resource = "mybatis-config.xml";
        InputStream inputStream = 
null;
        SqlSession session = null;
        List<Data> all = 
null;
        try {
            inputStream = 
Resources.getResourceAsStream(resource);
            
//使用流对象创建一个会话工厂
            SqlSessionFactory sf = new 
SqlSessionFactoryBuilder().build(inputStream);
            
//session就是程序员与数据库交互的入口
            session = 
sf.openSession();
            dataDao mapper = 
session.getMapper(dataDao.class);
            all = 
mapper.selectAll("高中");
        } catch (IOException e) {
            
e.printStackTrace();
        } finally {
            
session.commit();
            //关闭会话,释放资源
            
session.close();
        }

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

List<Data> all

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

这样mybatis就链接mysql数据库了,MyBatis 是目前 Java 持久框架的首选,它可以满足操作数据库的所有需求,并且提高了代码的可维护性!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

怎样编写玫瑰花java程序?实例介绍

json格式如何创建?json怎样创建简单的对象?

java怎么用小程序的接口?java登陆微信小程序接口技巧