一、进入mybatis关网下载jar包
二、新建project(idea) 然后导入核心jar包
mybatis-3.4.6.jar
mysql-connector-java-5.1.47.jar
三、相关准备
测试数据库 mybatis
测试数据表 Blog
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| title | varchar(32) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
四、需要在类路径下新建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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
<mappers>
<mapper resource="com/java12/mybatis/mapper/Blog.xml"/>
</mappers>
</configuration>
五、准备好mapper所需要映射的sql Blog.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.java12.mybatis.mapper.BlogMapper">
<select id="selectBlog" resultType="com.java12.mybatis.entity.Blog">
select * from Blog where id = #{id}
</select>
<insert id="insertBlog">
INSERT INTO Blog VALUES(#{id},#{title});
</insert>
</mapper>
六、准备好sql映射所需要的实体类
Blog.java
package com.java12.mybatis.entity;
public class Blog {
private Integer id;
private String title;
public Blog() {
super();
}
public Blog(Integer id, String title) {
this.id = id;
this.title = title;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Override
public String toString() {
return "Blog{" +
"id=" + id +
", title='" + title + '\'' +
'}';
}
}
七、测试
MybatisDemo
public class MybatisDemo {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
try {
Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);
} finally {
session.close();
}
}
这种方法不安全现在采取通过一个接口的方法来控制参数类型
八、跳过第七步
/**
* 面向接口编程
*/
public interface BlogMapper {
Blog selectBlog(int id);
void insertBlog(Blog blog);
}
测试
MybatisDemo
public class MybatisDemo {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession(true);
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog aaa = new Blog(3, "aaa");
insertBlog(aaa,session);
}
public static void insertBlog(Blog blog, SqlSession session){
BlogMapper mapper = session.getMapper(BlogMapper.class);
mapper.insertBlog(blog);
}
}