一起学习Spring boot 2.1.X | 第五篇:Mybatis Druid 数据库(注解版)

代码 代码 1488 人阅读 | 0 人回复

<
运转展现

115113w3liggf6llbl0ggw.png

正题

Spring boot :2.1.5RELEASE ;数据库(Mysql、Oracle);Mybatis;阿里云的毗邻池 : Druid ;
步调

1.POM依靠
  1. <!-- MyBatis -->
  2. <dependency>
  3.     <groupId>org.mybatis.spring.boot</groupId>
  4.     <artifactId>mybatis-spring-boot-starter</artifactId>
  5.     <version>1.3.2</version>
  6. </dependency>
  7. <!-- MySQL -->
  8. <dependency>
  9.     <groupId>mysql</groupId>
  10.     <artifactId>mysql-connector-java</artifactId>
  11. </dependency>
  12. <!-- Oracle -->
  13. <!--<dependency>
  14.         <groupId>com.oracle</groupId>
  15.         <artifactId>ojdbc14</artifactId>
  16.         <version>10.2.0.4.0</version>
  17. /dependency>-->
  18. <!-- Druid -->
  19. <dependency>
  20.     <groupId>com.alibaba</groupId>
  21.     <artifactId>druid</artifactId>
  22.     <version>1.1.16</version>
  23. </dependency>
复造代码
 
2.application.properties
  1. #Mybatis+MySQL+Druid
  2. #Mysql时区非常URL后增加serverTimezone=GMT%2B8/毗连池:typr/初初化毗连:initialSize/最年夜闲暇数:maxActive/最小闲暇数:minIdle/获得毗连等候工夫:maxWait/最小等候工夫:minEvictableIdleTimeMillis/封闭后没有主动提交:defaultAutoCommit
  3. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  4. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
  5. #spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:test
  6. spring.datasource.username=root
  7. spring.datasource.password=root
  8. spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
  9. # 初初化巨细,最小,最年夜
  10. spring.datasource.initialSize=5
  11. spring.datasource.minIdle=5
  12. spring.datasource.maxActive=20
  13. # 设置获得毗连等候超时的工夫
  14. spring.datasource.maxWait=60000
  15. # 设置距离多暂才停止一次检测,检测需求封闭的闲暇毗连,单元是毫秒
  16. spring.datasource.timeBetweenEvictionRunsMillis=60000
  17. # 设置一个毗连正在池中最小保存的工夫,单元是毫秒
  18. spring.datasource.minEvictableIdleTimeMillis=300000
  19. spring.datasource.validationQuery=SELECT 1 FROM DUAL
  20. spring.datasource.testWhileIdle=true
  21. spring.datasource.testOnBorrow=false
  22. spring.datasource.testOnReturn=false
  23. # 翻开PSCache,而且指定每一个毗连上PSCache的巨细
  24. spring.datasource.poolPreparedStatements=true
  25. spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
  26. # 设置监控统计阻拦的filters,来失落后监控界里sql没法统计,&#39;wall&#39;用于防水墙
  27. spring.datasource.filters=stat,wall,log4j
  28. # 经由过程connectProperties属性去翻开mergeSql功用;缓SQL记载
  29. spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
  30. # 兼并多个DruidDataSource的监控数据
  31. #spring.datasource.useGlobalDataSourceStat=true
  32. spring.datasource.defaultAutoCommit=false
复造代码
 
3.其他文件天生
User.java
  1. public class User {
  2.     public Integer uid;
  3.     public String uname;
  4.     public String upassword;
  5.     public Integer getUid() {
  6.         return uid;
  7.     }
  8.     public void setUid(Integer uid) {
  9.         this.uid = uid;
  10.     }
  11.     public String getUanme() {
  12.         return uname;
  13.     }
  14.     public void setUanme(String uanme) {
  15.         this.uname = uanme;
  16.     }
  17.     public String getUpassword() {
  18.         return upassword;
  19.     }
  20.     public void setUpassword(String upassword) {
  21.         this.upassword = upassword;
  22.     }
  23.     @Override
  24.     public String toString() {
  25.         return "User{" +
  26.                 "uid=" + uid +
  27.                 ", uname=&#39;" + uname + &#39;\&#39;&#39; +
  28.                 ", upassword=&#39;" + upassword + &#39;\&#39;&#39; +
  29.                 &#39;}&#39;;
  30.     }
  31. }
复造代码
UserDao.java
  1. import com.spring.boot.bean.User;
  2. import org.apache.ibatis.annotations.Select;
  3. import org.apache.ibatis.annotations.Update;
  4. import java.util.List;
  5. @Mapper
  6. public interface UserDao {
  7.     @Select("select * from user")
  8.     public List<User> AllUser();
  9.     @Update("<script> " + "update user" +
  10.             "<set>"+  "<if test=&#39;uname!=null&#39;>uname=#{uname},</if>"+
  11.             "<if test=&#39;upassword!=null&#39;>upassword=#{upassword},</if>"+
  12.             "</set>"+ "where uid=#{uid}"+
  13.             " </script> ")
  14.     public int Update(User user);
  15. }
复造代码
UserService.java
  1. import com.spring.boot.bean.User;
  2. import java.util.List;
  3. public interface UserService {
  4.     public List<User> AllUser();
  5.     public int Update(User user);
  6. }
复造代码
 
UserImpl.java
次要是注解成绩Service能够定名,次要依旧看本人的一样平常利用
  1. import com.spring.boot.bean.User;
  2. import com.spring.boot.dao.UserDao;
  3. import com.spring.boot.service.UserService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import java.util.List;
  7. @Service
  8. public class UserImpl implements UserService {
  9.     @Autowired
  10.     private UserDao userDao;
  11.     @Override
  12.     public List<User> AllUser() {
  13.         return userDao.AllUser();
  14.     }
  15.     @Override
  16.     public int Update(User user) {
  17.         return userDao.Update(user);
  18.     }
  19. }
复造代码
UserController.java
 
  1. import com.spring.boot.bean.User;
  2. import com.spring.boot.service.impl.UserImpl;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import javax.servlet.http.HttpServletRequest;
  8. @RestController
  9. public class UserController {
  10.     @Autowired
  11.     private  HttpServletRequest request;
  12.     @Autowired
  13.     private UserImpl userimpl;
  14.      @RequestMapping("/api/login")
  15.     public String Login(User user) {
  16.         HttpSession session = request.getSession();
  17.         //存进Session
  18.         //session.setAttribute("user", user);
  19.         //单元为秒,设置为-1时没有再生效
  20.         //session.setMaxInactiveInterval(60 * 60 * 24 * 30);
  21.         //登记登岸
  22.         //request.getSession().removeAttribute("user");
  23.         return userimpl.UserAll(user).toString();
  24.     }
  25. }
复造代码
 
注:userDao报白处理办法
115114ndc1qch3h6d3v7ye.jpg

 
注:启动类参加注解@MapperScan("途径)
小编那是Java web项目,@Controller注解是界里、@RestController是写接心


免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则