Mybatis(eclipse详细)

用eclipse配置环境

导入相关的jar包

src下新建全局配置mybatis.xml文件(编写JDBC的四个变量)

2.1 xml引入DTD(在mybatis.chm找)

1
2
3
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

2.2 如果导入DTD后续没有自动提示

2.3 编写和jdbc以及连接数据库有关的资源(自动提示)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<configuration>    
<!-- default引用environment的id 当前使用环境 -->
<environments default="default">
<!-- 声明使用的环境 -->
<environment id="default">
<!--使用原生JDBC事务-->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="uri" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="njdxrjgc7777777."/>
</dataSource>
</environment>
</environments>
</configuration>

新建实体类名Mapper.xml(编写sql语句S)##

3.1 xml引入DTD(在mybatis.chm找)

1
2
3
4
<?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">

*3.2 xml相当于实体类(xml全路径) 以及实现方法和返回值类型(实体类全路径) *

1
2
3
4
5
6
7
8
9
10
11
12
<mapper namespace="com.bjsxt.FlowerMapper"> <!-- 实现类的全路径namespace -->
<!--
id:方法名
parameterType:定义参数类型
resultType:返回值类型 如果返回值是list 在resultType中写List的泛型 因为mybatis对jdbc封装 一行一行读取数据

-->
<select id="selAll" resultType="com.bjsxt.pojo.Flower">
select * from flower
</select>

</mapper>

编写测试类

1.需要生产SqlSession

2.然后我们知道要用工厂设计模式–所以使用对应的SqlSessionFactory接口

3.我们通过ctrl+t打开查看接口实现类–需要关联外部文件夹–选择mybatis-3-mybatis-3.2.7文件的src

4.通过分析接口实现类发现是有参构造方法–需要新建Configuration类

5.因为实例化比较麻烦 –使用构建者模式快速构建对象 – 然后build需要字节流 –所以要用字节流去加载写好的主配置文件

6.使用建造好的实体生产SqlSession –list接xml配置文件的sql执行结果 –for输出

7.最后就是要关闭连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Test {
public static void main(String[] args) throws IOException {

//因为建造者模式的build需要一个字节流 我们需要将主配置文件导入
InputStream is = Resources.getResourceAsStream("mybatis.xml");

//使用工厂设计模式
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); //build(Reader reader) 要用字节流

//生产SqlSession
SqlSession session=factory.openSession();

//调用配置类
List<Flower> list=session.selectList("com.bjsxt.FlowerMapper.setAll"); //找的是xml的namespace全路径
for(Flower flower:list)
{
System.out.println(flower.toString());
}

//关闭(不关的话和数据库还是长连接状态)
session.close();

}
}

相当于实现类的xml需要加载到主配置文件内

要在mybatis.xml里面加载我们的相当于实现类的xml的全路径

1
2
3
<mappers>
<mapper resource="com/bjsxt/mapper/FlowerMapper.xml"></mapper>
</mappers>

总体结构

1: mapper包:存放xml配置文件(相当于实现类的那个xml)
    功能:
         1.1 mapper里面存放namespace自己的全路径
         1.2 我们写的是select(还可以使用其他的) 然后id是需要写的方法名字 resultType写返回值给实体类的全路径
         1.3 select里面要写sql语句

2: pojo包:里面存放的是实体类
    功能:
          2.1 里面写所有数据库属性还有set/get方法 以及tostring方法(test类输出)

3: test包:里面存放测试类
    功能:
            3.1 读取主配置文件
            3.2 使用工厂设计模式和建造者模式创建sqlsession
            3.3 调用配置的xml文件全路径+方法名
            3.4 使用完断开连接

4: 主配置文件:主要用于写使用的JDBC数据池和mysql的配置 以及加载我们的xml(相当于实现类)
    功能:
            4.1 使用transactionManager写原生JDBC事务
            4.2 使用dataSource书写数据池和property的标签写mysql的配置
            4.3 然后mappers就写各种实现类的配置xml(中间写resource就是xml的全路径)        

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 用eclipse配置环境
    1. 1.1. 导入相关的jar包
    2. 1.2. src下新建全局配置mybatis.xml文件(编写JDBC的四个变量)
    3. 1.3. 新建实体类名Mapper.xml(编写sql语句S)##
    4. 1.4. 编写测试类
    5. 1.5. 相当于实现类的xml需要加载到主配置文件内
  2. 2. 总体结构
,