回顾

前一篇中已经创建好工程并且进行了基本的测试,本篇则基于前篇建立的工程基础上实现数据库的访问。

 

数据库及表的创建

create database gps_com;
use gps_com;
create table tb_user(id int(11) NOT NULL AUTO_INCREMENT,loginname varchar(16) NOT NULL UNIQUE,password varchar(16) NOT NULL,PRIMARY KEY (ID));
insert into tb_user values(0,'root','123456');

 工程结构及新加内容

工程结构如下图所示,新加了User.java、UserMapper.java、UserService.java、UserServiceImpl.java等文件。

二、Spring Boot集成mybatis访问MySQL

 

下面的各个文件源代码。

User.java

package com.net.domain;

import java.io.Serializable;

public class User implements Serializable{  

	private static final long serialVersionUID = 1L;
	private Integer id;  
	private String loginname;  
	private String password;  

	public Integer getId() {  
		return id;  
	}  

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

	public String getLoginname() {  
		return loginname;  
	}  

	public void setLoginname(String userName) {  
		this.loginname = userName;  
	}
  
	public String getPassword() {  
		return password;  
	}  

	public void setPassword(String Password) {  
		this.password = Password;  
	}
  
  
	@Override  
	public String toString() {  
		return "User [id=" + id + ", loginname=" + loginname  
              + ", password=" + password + "]";  
	}  
    
} 

UserMapper.java

package com.net.domain;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.net.domain.User;

@Mapper
public interface UserMapper {
	@Select("select * from tb_user where loginname=#{loginname} and password=#{password}")
	User findWithLoginnameAndPassword(@Param("loginname") String loginname,@Param("password") String password);
	
	@Select("select * from tb_user where loginname=#{loginname}")
	User findWithLoginname(@Param("loginname") String loginname);
}

UserService.java

package com.net.service;

import com.net.domain.User;

public interface UserService {
	User login(String loginname,String password);
	User loginWithLoginname(String loginname);
}

UserServiceImpl.java

package com.net.service.impl;

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

import com.net.domain.User;
import com.net.domain.UserMapper;
import com.net.service.UserService;

@Service("userService")
public class UserServiceImpl implements UserService{

	@Autowired
	private UserMapper userMapper;
	
	@Override
	public User login(String loginname,String password)
	{
		System.out.println("login with loginname&password");
		return userMapper.findWithLoginnameAndPassword(loginname, password);
	}
	
	@Override
	public User loginWithLoginname(String loginname)
	{
		System.out.println("login with loginname");
		return userMapper.findWithLoginname(loginname);
	}
}

相应代码已经添加完毕,接着修改TestWithWeb.java添加相应测试代码进行测试。

 

数据库访问测试

TestWithWeb.java

package com.net.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.net.domain.User;
import com.net.service.UserService;


@RestController
public class TestWithWeb {
	
	@Autowired
	@Qualifier("userService")
	private UserService userService;
	
	@RequestMapping("/log")
	public String login()
	{		
		System.out.println("hello");
		
		User user = userService.login("root", "123456");
		System.out.println(user.toString());
		
		return "OK";
	}
}

配置文件不用修改维持前篇内容,pom.xml文件也没有新的内容添加维持项目创建时自动创建的内容。下面下浏览器进行测试。

二、Spring Boot集成mybatis访问MySQL

二、Spring Boot集成mybatis访问MySQL

测试完成,可以访问数据库查询到相应数据。也就是说Spring Boot已经集成了mybatis和MySQL,实现了数据库的操作。

 

 

相关文章: