Mybatis-入门使用
①导入MyBatis依赖(此处为maven项目)
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
②导入JDBC驱动包依赖(此处为mysql-connector-java)
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
③新建mybatis配置文件(此处为 mybatis-config.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>
<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://127.0.0.1:3306/sakila"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis/ActorMapper.xml"/>
</mappers>
</configuration>
④新建mapper配置文件及mapper接口
mybatis/ActorMapper.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.hs.mybatis.mapper.ActorMapper">
<resultMap id="actorResultMap" type="com.hs.mybatis.bean.Actor">
<id column="actor_id" property="actorId"/>
<result column="first_name" property="firstName"/>
<result column="last_name" property="lastName"/>
</resultMap>
<select id="selectOneActor" resultMap="actorResultMap">
select actor_id, first_name,last_name from actor where actor_id = #{actorId}
</select>
</mapper>
com.hs.mybatis.mapper.ActorMapper.java
package com.hs.mybatis.mapper;
import com.hs.mybatis.bean.Actor;
import org.apache.ibatis.annotations.Mapper;
//@Mapper
public interface ActorMapper {
Actor selectOneActor(int actorId);
}
对应bean
package com.hs.mybatis.bean;
public class Actor {
private int actorId;
private String firstName;
private String lastName;
public int getActorId() {
return actorId;
}
public void setActorId(int actorId) {
this.actorId = actorId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return "Actor{" +
"actorId=" + actorId +
", firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
'}';
}
}
⑤测试
com.hs.mybatis.Main.java
package com.hs.mybatis;
import com.hs.mybatis.bean.Actor;
import com.hs.mybatis.mapper.ActorMapper;
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 java.io.IOException;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
String resource = "mybatis-config.xml";
SqlSession session = null;
try {
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
System.out.println(sqlSessionFactory);
session = sqlSessionFactory.openSession();
ActorMapper actorMapper = session.getMapper(ActorMapper.class);
Actor actor = actorMapper.selectOneActor(1);
System.out.println(actor);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (session != null) {
session.close();
}
}
}
}
Mybatis官网:
https://mybatis.org/mybatis-3/zh/getting-started.html