Spring Boot 实战(8) springboot 整合 Mybatis,32岁的程序员被裁

本文详细介绍了如何在Spring Boot中利用注解和配置文件两种方式整合Mybatis,包括实体类、Mapper接口、Controller层的编写,以及数据源配置和Druid监控的设置。并提供了插入、查询和更新数据的示例。
摘要由CSDN通过智能技术生成

编写一个配置类,将数据源引入过来

@Configuration

public class DruidConfig {

@ConfigurationProperties(prefix = “spring.datasource”)

@Bean

public DataSource druid(){

return new DruidDataSource();

}

// 配置Druid的监控

// 配置一个管理后台的Servlet

@Bean

public ServletRegistrationBean statViewServlet(){

ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), “/druid/*”);

Map<String,String> initParams = new HashMap<>();

initParams.put(“loginUsername”,“admin”);

initParams.put(“loginPassword”,“123456”);

initParams.put(“allow”,"");//默认就是允许所有访问

bean.setInitParameters(initParams);

return bean;

}

// 配置一个web监控的filter

@Bean

public FilterRegistrationBean webStatFilter(){

FilterRegistrationBean bean = new FilterRegistrationBean();

bean.setFilter(new WebStatFilter());

Map<String,String> initParams = new HashMap<>();

initParams.put(“exclusions”,".js,.css,/druid/*");

bean.setInitParameters(initParams);

bean.setUrlPatterns(Arrays.asList("/*"));

return bean;

}

}

二、利用注解的形式整合

1. 编写实体类

Employee

public class Employee {

private Integer id; // 员工id

private String lastName; // 员工姓名

private Integer gender; // 员工性别

private String email; // 员工邮箱

private Integer dId; // 部门id

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public Integer getGender() {

return gender;

}

public void setGender(Integer gender) {

this.gender = gender;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public Integer getdId() {

return dId;

}

public void setdId(Integer dId) {

this.dId = dId;

}

}

Department

public class Department {

private Integer id; // 部门id

private String departmentName; // 部门名称

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getDepartmentName() {

return departmentName;

}

public void setDepartmentName(String departmentName) {

this.departmentName = departmentName;

}

}

2. 编写 Mapper接口层

DepartmentMapper

@Mapper // 指定这是一个操作数据库的mapper,将接口扫描到容器中

public interface DepartmentMapper {

/**

  • 查询

  • @param id

  • @return

*/

@Select(“select * from department where id=#{id}”)

public Department getDeptById(Integer id);

/**

  • 删除

  • @param id

  • @return

*/

@Delete(“delete from department where id=#{id}”)

public int deleteDeptById(Integer id);

/**

  • 新增

  • @param department

  • @return

*/

@Options(useGeneratedKeys = true,keyProperty = “id”)

@Insert(“Insert into department(department_name) values(#{departmentName})”)

public int insertDept(Department department);

/**

  • 更新

  • @param department

  • @return

*/

@Update(“update department set department_name=#{departmentName} where id=#{id}”)

public int updateDept(Department department);

}

3. 编写 Controller 层

DeptController

@RestController

public class DeptController {

@Autowired

DepartmentMapper departmentMapper;

/**

  • 根据id进行查询

  • @param id

  • @return

*/

@GetMapping("/dept/{id}")

public Department getDepartment(@PathVariable(“id”) Integer id) {

return departmentMapper.getDeptById(id);

}

/**

  • 新增部门信息

  • @param department

  • @return

*/

@GetMapping("/dept")

public Department insertDept(Department department) {

departmentMapper.insertDept(department);

return department;

}

}

在不写配置文件的情况 自定义mybatis的配置规则,开启驼峰命名法

@org.springframework.context.annotation.Configuration

public class MybatisConfig {

@Bean

public ConfigurationCustomizer configurationCustomizer() {

return new ConfigurationCustomizer() {

@Override

public void customize(Configuration configuration) {

configuration.setMapUnderscoreToCamelCase(true);

}

};

}

}

4. 测试

插入一条数据

在这里插入图片描述

查询刚才插入的数据

在这里插入图片描述

去数据库表表里面查询,数据插入进去了

在这里插入图片描述

二、利用配置文件的形式整合

1. 编写 Mapper 接口层

EmployeeMapper

@Mapper

public interface EmployeeMapper {

/**

  • 根据id查询员工信息

  • @param id

  • @return

*/

public Employee getEmpById(Integer id);

/**

  • 新增员工信息

  • @param employee

*/

public void insertEmp(Employee employee);

}

2. 编写全局配置文件

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
3. 编写 Sql 映射文件
<?xml version="1.0" encoding="UTF-8" ?>

SELECT * FROM employee WHERE id=#{id}

INSERT INTO employee(lastName,email,gender,d_id) VALUES (#{lastName},#{email},#{gender},#{dId})

4. 在 application.yml 中进行相关配置

mybatis:

全局配置文件的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值