java realize the integration of business mybatis spike

The first step: add dependencies in pom.xml

 <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
    </dependency>
<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	    </dependency>
	
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>druid</artifactId>
		<version>1.0.5</version>
	</dependency>

mysql-connector-java connected, by the connection pool as used druid

Step two: add mybatis profiles in application.properties

mybatis.type-aliases-package=com.jack.seckill.domain
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=3000
mybatis.mapperLocations = classpath:com/jack/seckill/dao/*.xml

Step 3: Add druid profiles in application.properties

# druid
spring.datasource.url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.filters=stat
spring.datasource.maxActive=2
spring.datasource.initialSize=1
spring.datasource.maxWait=60000
spring.datasource.minIdle=1
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=select 'x'
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxOpenPreparedStatements=20

Step Four: dao layer

package com.jack.seckill.dao;

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

import com.jack.seckill.domain.User;

@Mapper
public interface UserDao {
	//使用了@Param  sql就可以引用那个id变量了
	@Select("select * from user where id=#{id}")
	public User getById(@Param("id")int id);
}

The fifth layer: service layer

package com.jack.seckill.service;

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

import com.jack.seckill.dao.UserDao;
import com.jack.seckill.domain.User;

@Service
public class UserService {
	
	@Autowired
	UserDao userDao;
	
	public User getById(int id) {
		return userDao.getById(id);
	}

}

Sixth layer: controller layer

package com.jack.seckill.controller;

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 org.springframework.web.bind.annotation.ResponseBody;

import com.jack.seckill.domain.User;
import com.jack.seckill.result.CodeMsg;
import com.jack.seckill.result.Result;
import com.jack.seckill.service.UserService;

@Controller
@RequestMapping("/demo")
public class SampleController {
	@Autowired
	UserService userService;
	
	@RequestMapping("/db/get")
	@ResponseBody
	public Result<User> dbGet(){
		User user= userService.getById(1);
		return Result.success(user);
	}
}

 

Published 241 original articles · won praise 145 · Views 150,000 +

Guess you like

Origin blog.csdn.net/Richard_666/article/details/104092687