一头扎进springboot之整合mybatis

按照springboot的惯例,我们首先去pom文件引入mybatis的依赖

1》.在之前原有的基础上,再添加这两个依赖

<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>

2》.配置文件引入,在resource文件中添加一个application.properties文件

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.typeAliasesPackage=com.qq.entity
mybatis.mapperLocations=classpath:mapper/*.xml

然后我们创建好实体类

public class Person {
	private int id;
	private String pname;
	private String pwd;
	private int age;
	
	public Person(){}

	public Person(int id, String pname, String pwd, int age) {
		super();
		this.id = id;
		this.pname = pname;
		this.pwd = pwd;
		this.age = age;
	}


	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getPname() {
		return pname;
	}

	public void setPname(String pname) {
		this.pname = pname;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person [id=" + id + ", pname=" + pname + ", pwd=" + pwd + ", age=" + age + "]";
	}
			
			
	
}

对应的Dao层接口

public interface PersonDao {
	//查询所有用户信息
	List<Person> getAllPerson();
	
	//添加一个person
	int addPerson(Person person);
}

对应的mappeer

<?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.qq.dao.PersonDao">
        
        <select id="getAllPerson" resultType="Person">
        	select id,pname,pwd,page from person
        </select>
        
        <insert id="addPerson" parameterType="Person">
        	insert into person(pname,pwd,page) values(#{pname},#{pwd},#{page})
        </insert>
</mapper>

然后看我们的控制层

@Controller
public class HelloController {

	@Autowired(required = false)
	private PersonDao personDao;

	@RequestMapping("/hello")
	public String hello() {

		return "hello";
	}

	@ResponseBody
	@RequestMapping(value = "/findAll")
	public Map<String, Object> findAll() {
		Map<String, Object> res = new HashMap<String, Object>();
		List<Person> list = personDao.getAllPerson();
		if (list != null) {
			res.put("state", 0);
			res.put("msg", "");
			res.put("data", list);
		} else {
			res.put("state", 1);
			res.put("msg", "暂无人员信息!");
			res.put("data", null);
		}
		return res;
	}

}

如果就按照往常一样去启动项目的话,是会报错的,因为我们没有把dao层的内容注入进去,所以我们还需要在启动类中添加一句

@MapperScan(basePackages = "com.qq.dao")

否则,我们将拿不到数据的

这时候启动,访问浏览器就能看见结果





这样的话,简单的整合mybatis也就搭建好了,那么今天的分享就到这了



猜你喜欢

转载自blog.csdn.net/qiuqiu_qiuqiu123/article/details/78527480
今日推荐