色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

瀏覽:7日期:2023-02-06 10:13:11

本文主要介紹了SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn),分享給大家,具體如下:

放個(gè)效果圖:

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

準(zhǔn)備項(xiàng)目

首先在MySql控制臺(tái)輸入一下sql語(yǔ)句創(chuàng)建student 數(shù)據(jù)庫(kù)和student。

create databse student;use student;CREATE TABLE `student` ( `stu_id` bigint(20) NOT NULL, `stu_name` varchar(45) DEFAULT NULL, `stu_sex` varchar(6) DEFAULT NULL, `date` varchar(45) DEFAULT NULL, `room` int(2) DEFAULT NULL, `acadimy` varchar(45) DEFAULT NULL, PRIMARY KEY (`stu_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

SpringBoot

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

修改項(xiàng)目名稱,點(diǎn)擊next

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

這里直接點(diǎn)next

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

第一次打開(kāi)會(huì)很慢打開(kāi)后刪除用不到的文件

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

連接MySql

修改 application.properties 為 application.yml

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

插入一下代碼要修改的內(nèi)容: url: jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC&&characterEncoding=utf-8中的student改為自己的數(shù)據(jù)庫(kù)名稱

spring: #配置 數(shù)據(jù)庫(kù) datasource: username: root #用戶名 password: akbar #密碼 #下一行中student 改為 自己建的database url: jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC&&characterEncoding=utf-8 driver-class-name: com.mysql.cj.jdbc.Driver# 配置JSP 路徑 mvc: view: prefix: / suffix: .jsp#mybatis-plus 打印日志 不需要手寫(xiě)sql 可查看把我們完成的sql mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 設(shè)置端口號(hào)server: port: 8001

pom.xml 依賴包

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency><!-- MYsql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency><!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> <!-- 模板引擎 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!-- servlet依賴的jar包start --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <!-- servlet依賴的jar包start --> <!-- jsp依賴jar包start --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> </dependency> <!-- jsp依賴jar包end --> <!--jstl標(biāo)簽依賴的jar包start --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions><exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId></exclusion> </exclusions> </dependency> </dependencies>

IDEA 鏈接數(shù)據(jù)庫(kù)

IDEA 鏈接本地MySql數(shù)據(jù)庫(kù) (可以確定Mysql能正常訪問(wèn) ,方便我們調(diào)試)1.點(diǎn)擊屏幕右側(cè)Database2.點(diǎn)擊如下如的加號(hào)3.DataSource4.選擇Mysql

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

**如上圖所示表示成功連接,如果報(bào)錯(cuò),檢查用戶名,密碼,數(shù)據(jù)庫(kù)名稱 **

常見(jiàn)問(wèn)題:時(shí)區(qū)(time zone)相關(guān)的報(bào)錯(cuò)Mysql控制臺(tái)寫(xiě)下面的代碼 重新Test Connection 。

set global time_zone=’+8:00’;

連接成功可以看到剛才見(jiàn)的數(shù)據(jù)庫(kù)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

為了方便我們測(cè)試點(diǎn)擊加號(hào)“+”增加兩條記錄 增加完成后點(diǎn)擊如下圖DB的小圖標(biāo)(如果沒(méi)看到鼠標(biāo)移到大概位置會(huì)顯示別出來(lái))

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

代碼生成器(不用我們自己寫(xiě)實(shí)體類,controller ,mapper,service等) 在下圖目錄下測(cè)試類新建一個(gè)類GenerateCode

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

代碼如下:

需要修改的地方:1.這里修改成你自己的

pg.setParent('com.example.xxxx');

2.改稱自己的昵稱

gc.setAuthor('艾科');

3.把下邊的student 改為自己建的數(shù)據(jù)庫(kù)名稱

dsc.setUrl('jdbc:mysql://localhost:3306/studentuseSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8');`

4.// 版本8.0以下去掉中間的cj

dsc.setDriverName('com.mysql.cj.jdbc.Driver'); //8.0dsc.setDriverName('com.mysql.jdbc.Driver'); //8.0以下

5.數(shù)據(jù)庫(kù)用戶名和密碼

dsc.setUsername('root'); dsc.setPassword('root');

6.最后一個(gè)也是最重要的:這里是自己的數(shù)據(jù)不哭表

strategy.setInclude('student');

代碼如下:

public class GenerateCode { public static void main(String[] args) { AutoGenerator ag=new AutoGenerator();// 全局配置 GlobalConfig gc=new GlobalConfig(); String projectPath=System.getProperty('user.dir'); //獲取項(xiàng)目根目錄 gc.setOutputDir(projectPath+'/src/main/java'); //設(shè)置輸出目錄 gc.setAuthor('艾科'); //代碼注解 gc.setOpen(false); gc.setFileOverride(false); //是否覆蓋(選否)不然會(huì)覆蓋掉寫(xiě)過(guò)的代碼 gc.setServiceName('%sService'); gc.setIdType(IdType.ID_WORKER); // 可以根據(jù)需求改成IdType.AUTO 或者其他 gc.setDateType(DateType.ONLY_DATE); //Date 類型 只使用 java.util.date 代替 ag.setGlobalConfig(gc);// 設(shè)置數(shù)據(jù)源 DataSourceConfig dsc=new DataSourceConfig(); //不要忘了修改數(shù)據(jù)庫(kù)名稱 dsc.setUrl('jdbc:mysql://localhost:3306/student?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8'); dsc.setDriverName('com.mysql.cj.jdbc.Driver');//8.0用com.mysql.cj.jdbc.Driver 5.7用com.mysql.jdbc.Driver dsc.setUsername('root'); dsc.setPassword('root'); dsc.setDbType(DbType.MYSQL); //數(shù)據(jù)庫(kù)類型 ag.setDataSource(dsc);// 包的配置 PackageConfig pg=new PackageConfig();// pg.setModuleName('') pg.setParent('com.example.xxxx'); //把xxx 改成你自己的 pg.setEntity('entity'); //實(shí)體類創(chuàng)建目錄 pg.setMapper('mapper');//mapper pg.setController('controller');//controoler ag.setPackageInfo(pg); StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); //代碼風(fēng)格駝峰結(jié)構(gòu) strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(false); strategy.setRestControllerStyle(true); strategy.setInclude('student'); // table 名稱 ,根據(jù)table 名稱生成 實(shí)體類,controller,service, mmapper // strategy.setInclude('student,user,class'); // 多個(gè)表用都逗號(hào)分開(kāi) strategy.setControllerMappingHyphenStyle(true); ag.setStrategy(strategy); ag.execute(); }

改完了執(zhí)行該類

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

MyBatis Plus

把下圖目錄中的xxxxApplication 加上 @MapperScan(“com.xxxx.xx.mapper”) mapper 包名r如下圖所示(改成你自己的mapper 的包名)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

**如果怕敲錯(cuò)可以復(fù)制StudentMpaper 中的packege **

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

@MapperScan('com.example.student.mapper')@SpringBootApplicationpublic class StudentApplication { public static void main(String[] args) { SpringApplication.run(StudentApplication.class, args); }}

MyBatis Plus 簡(jiǎn)單查詢 (這個(gè)可以留到最后寫(xiě)作業(yè)的時(shí)候?qū)W PS:肯定會(huì)用到)

@Autowired StudentMapper studentMapper; // Mybatis plus 查詢 student 表中的數(shù)據(jù) 返回List 類型// 相當(dāng)于: SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student List<Student> list = studentMapper.selectList(null); list.forEach(System.out::println);// 通過(guò)id 查詢 相當(dāng)于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id=1 Student student1 = studentMapper.selectById(1);// 條件查詢 查詢單個(gè) 相當(dāng)于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_name = ? AND stu_sex = ? QueryWrapper<Student> wrapper = new QueryWrapper<>(); wrapper.eq('stu_name', '小明'); wrapper.eq('stu_sex', '男'); Student student2 = studentMapper.selectOne(wrapper); // 條件查詢 查詢列表 相當(dāng)于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id > 1 QueryWrapper<Student> wrapper1 = new QueryWrapper<>(); wrapper1.gt('stu_id', 1); Student student3 = studentMapper.selectOne(wrapper1); SimpleDateFormat simpleDateFormat=new SimpleDateFormat('yyyy-MM-dd'); String date=simpleDateFormat.format(System.currentTimeMillis());// insert 相當(dāng)于 :// INSERT INTO student ( stu_id, stu_name, stu_sex, date, room, acadimy ) VALUES ( ?, ?, ?, ?, ?, ? ) //==> Parameters: 1280830334286217217(Long), aike(String), 男(String), 2020-07-08(String), 226(Integer), 計(jì)算機(jī)(String) Student student=new Student(); student.setStuName('aike'); student.setStuSex('男'); student.setDate(date); student.setRoom(226); student.setAcadimy('計(jì)算機(jī)'); studentMapper.insert(student);

更多復(fù)雜查詢查詢官網(wǎng)-----> MyBatis-Plus 官網(wǎng)

訪問(wèn)JSP頁(yè)面

之前在pom.xml 中導(dǎo)入了相關(guān)的依賴包了

在mian 目錄下創(chuàng)建 webapp 文件夾

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

在webapp 目錄下創(chuàng)建 student.jsp文件

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

student.jsp文件內(nèi)容如下 把瞎下面的文件放到 student.jsp

<%@ page language='java' contentType='text/html; charset=utf-8' pageEncoding='utf-8' %><%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %><!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'><html><head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <title>學(xué)生信息</title> <link rel='external nofollow' rel='stylesheet'> <script type='text/javascript'> inserrtStudent= function() { console.log('新增學(xué)生') alert('新增學(xué)生') } inserrtRoom = function () { alert('新增宿舍') } updateRoom =function ( ) { alert('修改宿舍') } updateRecord =function (stu) { alert('查詢記錄:'${stu.stu_name}) } </script></head><body><div class='row'> <div class='col-md-6'> <table class='table table-striped'> <tr><th>ID</th><th>姓名</th><th>性別</th><th>學(xué)院</th><th>入學(xué)時(shí)間</th><th>宿舍號(hào)</th><td><button onclick='return inserrtStudent()' >新增學(xué)生</button></td><td><button onclick=' return inserrtRoom()'>新增宿舍</button></td> </tr> <c:if test='${not empty students}'><c:forEach items='${students}' var='stu'> <tr> <td>${stu.stuId}</td> <td>${stu.stuName}</td> <td>${stu.stuSex}</td> <td>${stu.acadimy}</td> <td>${stu.date}</td> <td>${stu.room}</td> <td><button onclick='return updateRoom(${stu})'>修改宿舍</button></td> <td><button onclick='return updateRecord()'>查詢記錄</button></td> </tr></c:forEach> </c:if> </table> </div></div><script src='https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js'></script><!-- 加載 Bootstrap 的所有 JavaScript 插件。你也可以根據(jù)需要只加載單個(gè)插件。 --><script src='https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js'></script></body></html>

StudentControoler 代碼如下

注意:StudentController注解是 @Controller 而不是 RestController 。

/** * * @author 艾科 * @since 2020-07-08 */@Controller@RequestMapping('/student')public class StudentController { @Autowired StudentMapper studentMapper; @RequestMapping(value = 'findall') public String findAll(Model model) {// Mybatis plus 查詢 student 表中的數(shù)據(jù) 返回List 類型// 相當(dāng)于: SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student List<Student> list = studentMapper.selectList(null); model.addAttribute('students', list); return 'student'; }}

運(yùn)行結(jié)果(運(yùn)行按鈕在右上角):localhost:你的端口號(hào)/student/findall

SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)

到此這篇關(guān)于SpringBoot+MybatisPlus+Mysql+JSP實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)SpringBoot MybatisPlus Mysql JSP內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 午夜伊人| 视频偷拍一级视频在线观看 | 亚洲精品无码不卡 | 成人性色大片 | 亚洲美色综合天天久久综合精品 | 欧美成人免费一区在线播放 | 一级毛片成人免费看a | 亚洲一区免费看 | 欧美成人影院 在线播放 | 日本三级精品 | baby在线观看免费观看 | 美女扒开双腿让男人爽透视频 | 九九精品视频一区在线 | 一区二区三区免费观看 | 国产在线爱做人成小视频 | 男人的天堂欧美 | 国产精品观看在线亚洲人成网 | 久久99热只有视精品6国产 | 真实的国产乱xxxx | 好吊操这里只有精品 | 亚色网址 | 欧美日本在线三级视频 | 精品国产v无码大片在线观看 | 奇米四色综合久久天天爱 | 美女黄频免费观看 | 欧美一级淫片免费观看 | 最新理论三级中文在线观看 | 久久久精品久久久久久久久久久 | 直接在线观看的三级网址 | 在线观看日本污污ww网站 | 国产成人最新毛片基地 | 韩国免费网站成人 | 美女一级毛片免费不卡视频 | 日韩一级片在线免费观看 | 黄色免费在线网址 | 成人永久免费视频网站在线观看 | 亚洲精品一二三四区 | 欧美性活一级视频 | 国产呦精品系列在线 | 亚洲一区免费 | 国产人成精品综合欧美成人 |