xml環境配置文件:
mybatis-config.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--設置--> <settings> <!--啓用駝峯命名規則--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!--定義別名--> <typeAliases> <typeAlias alias="book" type="cn.rogueq.entity.Book"/> </typeAliases> <!--定義數據庫信息,默認使用development數據庫構建環境--> <environments default="development"> <environment id="development"> <!--採用jdbc事務管理--> <transactionManager type="JDBC"></transactionManager> <!--配置數據庫鏈接信息--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/rogueq?serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!--定義映射器--> <mappers> <mapper resource="cn/rogueq/mybatis/BookMapper.xml"/> </mappers> </configuration>
映射文件:
BookMapper.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="cn.rogueq.mybatis.BookMapper">
<select id="selectById" resultType="book">
select * from book where id = #{id}
</select>
</mapper>
Mapper接口:
package cn.rogueq.mybatis;
import cn.rogueq.entity.User;
import org.apache.ibatis.annotations.Param;
public interface UserMapper {
User selectById(@Param("id") Long id);
}
實體類:
package cn.rogueq.entity;
import java.util.Date;
public class Book {
private Long id;
private String name;
private String author;
private Date insertTime;
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Date getInsertTime() {
return insertTime;
}
public void setInsertTime(Date insertTime) {
this.insertTime = insertTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", author='" + author + '\'' +
", insertTime=" + insertTime +
", updateTime=" + updateTime +
'}';
}
}
啓動類:
public class MyBatisDemo {
public static void main(String[] args) {
String resource = "mybatis-config.xml";
try {
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = null;
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
Book book = mapper.selectById(1L);
System.out.println(book);
} catch (IOException e) {
e.printStackTrace();
}
}
}
執行結果:
Book{id=1, name='深入淺出Mybatis技術原理與實戰', author='楊開振', insertTime=Tue Mar 26 06:43:47 CST 2019, updateTime=Tue Mar 26 06:43:47 CST 2019}