美文网首页
mybatis基础使用(手写sql)

mybatis基础使用(手写sql)

作者: 冬月廿拾 | 来源:发表于2020-10-14 18:12 被阅读0次
  • IDEA的Maven使用Mybatis
  • mybatis的两种使用方法(注解版、xml配置版)

文档:

https://mybatis.org/mybatis-3/index.html
中文版:https://mybatis.org/mybatis-3/zh/index.html

IDEA引入mybatis

        <!-- mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.26</version>
        </dependency>
        <!-- 使用mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

注解版使用方法

以表factor为例

CREATE TABLE `factor` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `enabled` tinyint(3) NOT NULL DEFAULT '1' COMMENT '1 - 可用,2 - 不可用',
  `name` varchar(32) NOT NULL DEFAULT '' COMMENT '因子名称',
  `factor_desc` varchar(32) NOT NULL DEFAULT '' COMMENT '因子描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='因子';

1.编写实体类Factor

package com.springbootdata.demo.bean;

public class Factor {
    private Integer id;
    private String enabled;
    private String name;
    private String factorDesc;
    public Integer getId() { return id;}

    public void setId(Integer id) { this.id = id; }
    public String getEnabled() { return enabled; }
    public void setEnabled(String enabled) { this.enabled = enabled; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public String getFactorDesc() { return factorDesc; }
    public void setFactorDesc(String factorDesc) { this.factorDesc = factorDesc; }
}

2.写对应mapper方法

package com.springbootdata.demo.dal.mapper;

import com.springbootdata.demo.bean.Factor;
import org.apache.ibatis.annotations.Select;

//@Mapper
public interface FactorMapper {
    @Select("select * from factor where id=#{id}")
    Factor getFactorById(Integer id);

}

3.新增配置application.properties

spring.datasource.url= jdbc:mysql://111.229.111.111:3306/test01?useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

4.在启动类上加注解@MapperScan指定要扫描的Mapper类的包的路径

//指定要扫描的Mapper类的包的路径
@MapperScan(value = "com/springbootdata/demo/dal/mapper")
@SpringBootApplication
public class SpringbootDataApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDataApplication.class, args);
    }
}

5.写个请求试试

@Autowired
    FactorMapper factorMapper;

@ResponseBody
    @RequestMapping(value = "/query/id", method = RequestMethod.GET,
            produces = MediaType.APPLICATION_JSON_VALUE)
    public Factor getFactor(@RequestParam("id") Integer id) {
        Factor factor = factorMapper.getFactorById(id);
        return factor;
    }

总体目录


image.png

结果


image.png

xml配置版

以表template为例

CREATE TABLE `template` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `enabled` tinyint(3) NOT NULL DEFAULT '1' COMMENT '逻辑删除标识:1-可用,2-不可用',
  `template_id` varchar(64) NOT NULL DEFAULT '' COMMENT '模板ID',
  `template_name` varchar(32) NOT NULL DEFAULT '' COMMENT '模板名称',
  `is_default` tinyint(3) NOT NULL DEFAULT '0' COMMENT '默认模板:0-否,1-是',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='模板';

1.编写实体类 --略
2.application.properties新增配置

#mybatis配置位置
mybatis.config-location=classpath:mybatis/mybatis-config.xml
#mapper.xml所在位置
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

3.新增mybits的xml配置configuration中的内容因在上一步的配置文件中已有配置,所以这里可以注释掉

<?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="${driver}"/>-->
    <!--                <property name="url" value="${url}"/>-->
    <!--                <property name="username" value="${username}"/>-->
    <!--                <property name="password" value="${password}"/>-->
    <!--            </dataSource>-->
    <!--        </environment>-->
    <!--    </environments>-->
    <!--    <mappers>-->
    <!--        <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
    <!--    </mappers>-->
</configuration>

4.编写temolateMapper的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.springbootdata.demo.dal.mapper.TemplateMapper">
<select id="selectTemplate" resultType="com.springbootdata.demo.bean.Template">
    select * from template where id = #{id}
</select>
</mapper>

编写mapper

package com.springbootdata.demo.dal.mapper;

import com.springbootdata.demo.bean.Template;

public interface TemplateMapper {

    Template selectTemplate(Template template);
}

6.写个接口试试

@Autowired
    TemplateMapper templateMapper;

@ResponseBody
    @RequestMapping(value = "/query/template", method = RequestMethod.GET,
            produces = MediaType.APPLICATION_JSON_VALUE)
    public Template getTemplate(@RequestParam("id") Integer id) {
        Template template_a = new Template();
        template_a.setId(id);
        Template template = templateMapper.selectTemplate(template_a);
        return template;
    }
image.png

相关文章

网友评论

      本文标题:mybatis基础使用(手写sql)

      本文链接:https://www.haomeiwen.com/subject/jwltdktx.html