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}
本文介绍了一个基于MyBatis的简单应用实例,包括环境配置文件、映射文件、Mapper接口及实体类的设计,并展示了如何通过启动类进行数据查询。
965

被折叠的 条评论
为什么被折叠?



