一、mybatis实现数据库和Java代码解耦步骤
package com.company.test;
import com.company.entity.Flower;
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.apache.log4j.lf5.util.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.security.Key;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Map;
public class testA {
public static void main(String[] args) throws IOException {
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = factory.openSession();
List<Flower> list = session.selectList("com.company.mapper.mapper.selectAll");
for(Flower flower:list){
System.out.println(flower);
}
Flower flower2 = session.selectOne("com.company.mapper.mapper.selectOne");
System.out.println(flower2);
Map<Object, Object> map = session.selectMap("com.company.mapper.mapper.selectMap", "id");
System.out.println(map);
session.close();
}
}
二、mybatis.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>
<properties resource="jdbc.properties"></properties>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/company/mapper/mapper.xml"/>
</mappers>
</configuration>
三、mapper.xml文件
<?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.company.mapper.mapper">
<select id="selectAll" resultType="com.company.entity.Flower">
select * from flower
</select>
<select id="selectOne" resultType="com.company.entity.Flower">
select * from flower where id = 1
</select>
<select id="selectMap" resultType="map">
select * from flower
</select>
</mapper>
四、jdbc.properties文件
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/Flower?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username=root
password=root
五、项目结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210708151108416.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21vb29uaw==,size_16,color_FFFFFF,t_70#pic_center)