详解springboot中mybatis注解形式

网友投稿 286 2023-01-21


详解springboot中mybatis注解形式

springboot整合mybatis对数据库进行访问,本实例采用注解的方式,如下:

pom.xml文件

org.springframework.boot

spring-boot-starter-parent

2.0.5.RELEASE

UTF-8

1.8

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

5.1.45

org.springframework.boot

spring-boot-starter-jdbc

org.sprihttp://ngframework.boot

spring-boot-configuration-processor

true

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

org.springframework.boot

spring-boot-maven-plugin

domain类

package com.rookie.bigdata.domain;

/**

* @author

* @date 2018/10/9

*/

public class Student {

private Long stuNo;

private String name;

private Integer age;

public Student() {

}

public Student(String name, Integer age) {

this.name = name;

this.age = age;

}

public Student(Long stuNo, String name, Integer age) {

this.stuNo = stuNo;

this.name = name;

this.age = age;

}

public Long getStuNo() {

return stuNo;

}

public void setStuNo(Long stuNo) {

this.stuNo = stuNo;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

@Override

public boolean equals(Object o) {

if (this == o) return true;

if (o == null || getClass() != o.getClass()) return false;

Student student = (Student) o;

if (stuNo != null ? !stuNo.equals(student.stuNo) : student.stuNo != null) return false;

if (name != null ? !name.equals(student.name) : student.name != null) return false;

return age != null ? age.equals(student.age) : student.age == null;

}

@Override

public int hashCode() {

int result = stuNo != null ? stuNo.hashCode() : 0;cDuka

result = 31 * result + (name != null ? name.hashCode() : 0);

result = 31 * result + (age != null ? age.hashCode() : 0);

return result;

}

@Override

public String toString() {

return "Student{" +

"stuNo=" + stuNo +

", name='" + name + '\'' +

", age=" + age +

'}';

}

}

StudentMapper类

package com.rookie.bigdata.mapper;

import com.rookie.bigdata.domain.Student;

import org.apache.ibatis.annotations.*;

import java.util.List;

import java.util.Map;

/**

* @author

* @date 2018/10/9

*/

@Mapper

public interface StudentMapper {

@Select("SELECT * FROM student WHERE name = #{name}")

Student findByName(@Param("name") String name);

@Results({

@Result(property = "name", column = "name"),

@Result(property = "age", column = "age")

})

@Select("SELECT name, age FROM student")

List findAll();

@Insert("INSERT INTO student(name, age) VALUES(#{name}, #{age})")

int insert(@Param("name") String name, @Param("age") Integer age);

@Update("UPDATE student SET age=#{age} WHERE name=#{name}")

void update(Student student);

@Delete("DELETE FROM student WHERE id =#{id}")

void delete(Long id);

@Insert("INSERT INTO student(name, age) VALUES(#{name}, #{age})")

int insertByUser(Student student);

@Insert("INSERT INTO student(name, age) VALUES(#{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})")

int insertByMap(Map map);

}

测试类如下:

package com.rookie.bigdata.mapper;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

import org.springframework.transaction.annotation.Transactional;

import static org.junit.Assert.*;

/**

* @author

* @date 2018/10/10

*/

@RunWith(SpringRunner.class)

@SpringBootTest

public class StudentMapperTest {

@Autowired

private StudentMapper studentMapper;

@Test

public void findByName() throws Exception {

System.out.println(studentMapper.findByName("zhangsan"));

}

@Test

public void findAll() throws Exception {

System.out.println(studentMapper.findByName("zhangsan"));

}

@Test

public void insert() throws Exception {

System.out.println( studentMapper.insert("zhangsan", 20));

}

@Test

public void update() throws Exception {

}

@Test

public void delete() throws Exception {

}

@Test

public void insertByUser() throws Exception {

}

@Test

public void insertByMap() throws Exception {

}

}

大家可以自己编写测试类进行测试一下,后续会更新xml的配置方式和mybatis采用多数据源进行配置的方式


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解springboot采用多数据源对JdbcTemplate配置的方法
下一篇:详解微信开发之access_token之坑
相关文章

 发表评论

暂时没有评论,来抢沙发吧~