MyBatis入门
1.添加MyBatis相关maven依赖
<dependencies>
<!--mybatis相关依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
</dependencies>
2.创建Mybatis核心配置文件
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3307/jdbctemp?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"/>
<property name="username" value="root"/>
<property name="password" value="panyicheng"/>
</dataSource>
</environment>
</environments>
<!-- 配置对于的Mapper.xml文件-->
<mappers>
<mapper resource="FruitMapper.xml"/>
</mappers>
</configuration>
3.创建数据库以及对应得实体类
public class Fruit {
private int id;
private String name;
private String country;
public Fruit() {
}
public Fruit(int id, String name, String country) {
this.id = id;
this.name = name;
this.country = country;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
@Override
public String toString() {
return "Fruit{" +
"id=" + id +
", name='" + name + '\'' +
", country='" + country + '\'' +
'}';
}
}
4.创建Mapper层文件以及对于的xml配置文件
import com.pyc.bean.Fruit;
import java.util.List;
//相当于原来的Dao层
public interface FruitMapper {
public List<Fruit> selectAllFruits();
public Fruit selectFruitById(int id);
}
<?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.pyc.mapper.FruitMapper">
<select id="selectAllFruits" resultType="com.pyc.bean.Fruit">
select * from Fruit
</select>
<select id="selectFruitById" resultType="com.pyc.bean.Fruit">
select * from Fruit where id = #{id}
</select>
</mapper>
5.编写测试类
public class MyBatisTest {
@Test
public void test(){
String resource = "myBatis-config.xml";
InputStream inputStream = null;
SqlSessionFactory sqlSessionFactory = null;
SqlSession sqlSession = null;
try {
inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = sqlSessionFactory.openSession();
FruitMapper fruitMapper = sqlSession.getMapper(FruitMapper.class);
List<Fruit> fruits = fruitMapper.selectAllFruits();
fruits.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}finally {
if (inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (sqlSession != null){
sqlSession.close();
}
}
}
}
FruitMapper fruitMapper = sqlSession.getMapper(FruitMapper.class);
Fruit fruit = fruitMapper.selectFruitById(1);
System.out.println(fruit);
6.输出结果:
Fruit{id=1, name='西瓜', country='中国'}
Fruit{id=3, name='甘蔗', country='越南'}
Fruit{id=4, name='桃子', country='日本'}------------------------------------------------
Fruit{id=1, name='西瓜', country='中国'}
主要步骤
1)加载mybatis核心配置文件
2)获取SqlSessionFactory对象
3)获取SqlSession对象
4)获取对应的接口
5)执行对应的接口实现的方法
6)关闭资源
来源:oschina
链接:https://my.oschina.net/u/4238564/blog/4906306