Spring-boot如何集成mybatis

2025-10-27 20:45:06

1、在Maven工程中增加mybatis依赖

<dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.4.4</version></dependency>

Spring-boot如何集成mybatis

2、创建mybaits系统环境配置文件:mybatis-config.xml

该文件包含了数据连接池以及数据表操作的SQL文件

<?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://127.0.0.1:3306/ideadb"/>                <property name="username" value="hxb"/>                <property name="password" value="hxb"/>            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="idea/ideaMapper.xml"/>    </mappers></configuration>

Spring-boot如何集成mybatis

3、创建数据表的mybatis映射文件:ideaMapper.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="fantasy.IdeaMapper">    <select id="selectIdea" resultType="fantasy.Idea">        select * from idea where id = #{id}    </select></mapper>

Spring-boot如何集成mybatis

4、创建数据表的类对象Idea.java:

package fantasy;/** * Created by Administrator on 2017/7/12 0012. */import org.springframework.format.datetime.DateFormatter;import java.util.Date;import java.util.Locale;public class Idea  implements java.io.Serializable{    private String id; //Max len =12    private String name; //max len = 125    private String content;    private String contentFile;    private String imgFile;    private String author;    private Date createDate;    private Date updateDate;    private String version;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getContent() {        return content;    }    public void setContent(String content) {        this.content = content;    }    public String getContentFile() {        return contentFile;    }    public void setContentFile(String contentFile) {        this.contentFile = contentFile;    }    public String getImgFile() {        return imgFile;    }    public void setImgFile(String imgFile) {        this.imgFile = imgFile;    }    public String getAuthor() {        return author;    }    public void setAuthor(String author) {        this.author = author;    }    public Date getCreateDate() {        return createDate;    }    public void setCreateDate(Date createDate) {        this.createDate = createDate;    }    public Date getUpdateDate() {        return updateDate;    }    public void setUpdateDate(Date updateDate) {        this.updateDate = updateDate;    }    public String getVersion() {        return version;    }    public void setVersion(String version) {        this.version = version;    }    @Override    public String toString() {        DateFormatter dateFormatter = new DateFormatter();        dateFormatter.setPattern("yyyyMMddHHmmss");        String createDateStr = "";        if(createDate!=null)        {           createDateStr= dateFormatter.print(createDate, Locale.CHINA);        }        return "Idea{" +                "id='" + id + '\'' +                ", name='" + name + '\'' +                ", content='" + content + '\'' +                ", contentFile='" + contentFile + '\'' +                ", imgFile='" + imgFile + '\'' +                ", author='" + author + '\'' +                ", createDate=" + createDateStr +                ", updateDate=" + updateDate+                ", version='" + version + '\'' +                '}';    }}

Spring-boot如何集成mybatis

5、创建DAO数据库操作类:IdeaController.java

package fantasy;/** * Created by Administrator on 2017/8/8 0008. */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 org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.format.datetime.DateFormatter;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;import java.io.IOException;import java.io.InputStream;import java.text.DateFormat;import java.text.ParseException;import java.util.Map.Entry;import java.util.Date;import java.util.Locale;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@Controller@EnableAutoConfiguration@RestController@RequestMapping("/idea")public class IdeaController {    @Autowired    private JdbcTemplate jdbcTemplate;    @RequestMapping("/get")    @ResponseBody    String get(@RequestParam("id") String id) throws IOException {        Idea idea= new Idea();        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        SqlSession session = sqlSessionFactory.openSession();        try {            idea = (Idea) session.selectOne("fantasy.IdeaMapper.selectIdea", id);        } finally {            session.close();        }        if(idea!=null)            return idea.toString();        else            return "查询不到记录!";    }    public static void main(String[] args) throws Exception {        SpringApplication.run(IdeaController.class, args);    }}

Spring-boot如何集成mybatis

6、运行IdeaController类,并在浏览器中进行测试

Spring-boot如何集成mybatis

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢