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}