前言
启动类加入注解@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 获取