三分钟学会Mybatis Druid 的数据库

173 阅读2分钟

前言

启动类加入注解@MapperScan("路径)
小编这是Java web项目,@Controller注解是界面、@RestController是写接口

正题

Spring boot :2.1.5RELEASE ;数据库(Mysql、Oracle);Mybatis;阿里云的连接池 : Druid ;

步骤

1.POM依赖

<!-- MyBatis --><dependency>    <groupId>org.mybatis.spring.boot</groupId>    <artifactId>mybatis-spring-boot-starter</artifactId>    <version>1.3.2</version></dependency> <!-- MySQL --><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId></dependency> <!-- Oracle --><!--<dependency>	<groupId>com.oracle</groupId>	<artifactId>ojdbc14</artifactId>	<version>10.2.0.4.0</version>/dependency>--> <!-- Druid --><dependency>    <groupId>com.alibaba</groupId>    <artifactId>druid</artifactId>    <version>1.1.16</version></dependency>

2.application.properties

#Mybatis+MySQL+Druid#Mysql时区异常URL后添加serverTimezone=GMT%2B8/连接池:typr/初始化连接:initialSize/最大空闲数:maxActive/最小空闲数:minIdle/获取连接等待时间:maxWait/最小等待时间:minEvictableIdleTimeMillis/关闭后不自动提交:defaultAutoCommitspring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false#spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:testspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driverClassName=com.mysql.cj.jdbc.Driver # 初始化大小,最小,最大spring.datasource.initialSize=5spring.datasource.minIdle=5spring.datasource.maxActive=20# 配置获取连接等待超时的时间spring.datasource.maxWait=60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring.datasource.timeBetweenEvictionRunsMillis=60000# 配置一个连接在池中最小生存的时间,单位是毫秒spring.datasource.minEvictableIdleTimeMillis=300000spring.datasource.validationQuery=SELECT 1 FROM DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=false# 打开PSCache,并且指定每个连接上PSCache的大小spring.datasource.poolPreparedStatements=truespring.datasource.maxPoolPreparedStatementPerConnectionSize=20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙spring.datasource.filters=stat,wall,log4j# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据#spring.datasource.useGlobalDataSourceStat=true spring.datasource.defaultAutoCommit=false

3.其他文件生成

User.java

public class User {     public Integer uid;    public String uname;    public String upassword;     public Integer getUid() {        return uid;    }     public void setUid(Integer uid) {        this.uid = uid;    }     public String getUanme() {        return uname;    }     public void setUanme(String uanme) {        this.uname = uanme;    }     public String getUpassword() {        return upassword;    }     public void setUpassword(String upassword) {        this.upassword = upassword;    }     @Override    public String toString() {        return "User{" +                "uid=" + uid +                ", uname='" + uname + '\'' +                ", upassword='" + upassword + '\'' +                '}';    }}

UserDao.java

import com.spring.boot.bean.User;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update; import java.util.List; @Mapperpublic interface UserDao {     @Select("select * from user")    public List<User> AllUser();     @Update("<script> " + "update user" +            "<set>"+  "<if test='uname!=null'>uname=#{uname},</if>"+            "<if test='upassword!=null'>upassword=#{upassword},</if>"+            "</set>"+ "where uid=#{uid}"+            " </script> ")    public int Update(User user); }

UserService.java

import com.spring.boot.bean.User;import java.util.List; public interface UserService {     public List<User> AllUser();     public int Update(User user); }

UserImpl.java

主要是注解问题Service可以命名,主要还是看自己的日常使用

import com.spring.boot.bean.User;import com.spring.boot.dao.UserDao;import com.spring.boot.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; import java.util.List; @Servicepublic class UserImpl implements UserService {     @Autowired    private UserDao userDao;     @Override    public List<User> AllUser() {         return userDao.AllUser();    }     @Override    public int Update(User user) {        return userDao.Update(user);    }}

UserController.java

import com.spring.boot.bean.User;import com.spring.boot.service.impl.UserImpl;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 javax.servlet.http.HttpServletRequest; @RestControllerpublic class UserController {     @Autowired    private  HttpServletRequest request;     @Autowired    private UserImpl userimpl;      @RequestMapping("/api/login")    public String Login(User user) {         HttpSession session = request.getSession();         //存入Session        //session.setAttribute("user", user);        //单位为秒,设置为-1时不再失效        //session.setMaxInactiveInterval(60 * 60 * 24 * 30);        //注销登陆        //request.getSession().removeAttribute("user");         return userimpl.UserAll(user).toString();    }}

userDao报红解决方法

喜欢小编分享的文章可以点赞关注哦 ,分享技术的路上感谢有你们陪伴!

小编整理了1000道多家公司java面试题400多页pdf文档,都已经分专题整理好了,需要领取关注 公众号:麒麟改bug 获取