SpringBoot2.0+Mybatis+Freemaker(四)

流程目录

  1. 添加Mybatis和mysql的相关jar配置
  2. 添加数据库四元素和Mybatis相关配置
  3. 添加表,模型,DAO接口,Service,Controller,模板
  4. 添加模板
  5. 启动测试

  1. 添加Mybatis的相关jar配置
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

2.添加数据库四元素和MyBatis相关配置

    

在src/main/resource下的application.properties进行配置,代码如下

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///helloworld?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=admin

mybatis.type-aliases-package=com.helloworld.domain
mybatis.mapper-locations=classpath:mapper/*/*.xml
#指定访问端口,可以修改成80
server.port=8080

3.添加表,模型,DAO,Service,Controller

3.1 表

CREATE TABLE `t_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `deptId` bigint(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `deptId` (`deptId`),
  CONSTRAINT `t_user_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `t_dept` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
CREATE TABLE `t_dept` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


3.2模型

3.3 DAO接口


DAO映射文件,如下图所示,不知道看起来会不会乱,我想表达的是MyBatis的两个配置,一个是别名扫描包,然后在映射文件里面可以直接使用类名作为别名。一个是映射文件放的地方


3.4 Service


只贴一个Service,另外个DeptService中只有一个selectOneById方法

package com.helloworld.service.user;

import java.sql.SQLException;
import java.util.List;

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

import com.helloworld.dao.user.UserDAO;
import com.helloworld.domain.user.User;
import com.mysql.jdbc.StringUtils;

@Service
public class UserService{
	@Autowired
	private UserDAO userDAO;
	public List<User> selectAll() {
		return userDAO.selectAll();
	}
	
}

3.5 Controller

package com.helloworld.web.user;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.helloworld.domain.user.User;
import com.helloworld.service.user.UserService;

@RequestMapping("/user")
@Controller
public class UserController {
	@Autowired
	private UserService userService;
	@RequestMapping("/list")
	public String list(Model model) {
		List<User> users = userService.selectAll();
		model.addAttribute("users", users);
		return "user/list";
	}
}

3.6 模板

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<#list users as user>
${user.dept.name}<!-- 跟el表达式一样,如果取依赖类中的属性 -->
</#list>
</body>
</html>

4. 启动测试


注意点:

  1. 接口需要一个或两个注解@Mapper必须  @Repository选择,告诉Spring以驼峰方式命名name注入给service

猜你喜欢

转载自blog.csdn.net/u012169821/article/details/79848473