用mybatis链接数据库十分的方便,这里总结一下具体的步骤。
1.首先创建一个maven项目
在pom.xml导入依赖
12 3 7org.mybatis 4mybatis 53.4.4 68 12mysql 9mysql-connector-java 105.1.47 1113 17 18c3p0 14c3p0 150.9.1.2 16
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"> 56 7 8 9 10 14 1511 12 13 default="development"> 16 27 2817 2618 19 20 2521 22 23 24 29 3130
注意:这个地方的xml文件就是一会要写sql语句的xml,这个路径根据自己的配置进行调整。
3.在resources下配置一个properties
这个用来写你数据库连接的host、user、password
4.在java下创建一个包,里面写dao层的接口。【我这个包起名的时候很蠢,大家一定按照规则写包名!!】
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数据类型是什么?
我在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就完事了