運行展示

正題
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/關閉后不自動提交:defaultAutoCommit
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.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:test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
# 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置獲取連接等待超時的時間
spring.datasource.maxWait=60000
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打開PSCache,并且指定每個連接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.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;
@Mapper
public 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;
@Service
public 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;
@RestController
public 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報紅解決方法
注:啟動類加入注解@MapperScan("路徑)
小編這是Java web專案,@Controller注解是界面、@RestController是寫介面
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/224229.html
標籤:其他
