java技术分享_Java技术分享:SpringBoot+mysql+...

放个效果图:

68a694cd44b1d32a3db2abdfb5656fa6.png

准备项目

首先在MySql控制台输入一下sql语句创建student 数据库和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;123456789101112

SpringBoot

d68ce2cb8e176194b1b3257e4e57918d.png

修改项目名称,点击next

ab7e3c218ed99a45c15de071df01a533.png

这里直接点next

0b9aa139337ce9179cf9a05e20859e93.png

第一次打开会很慢
打开后删除用不到的文件

6fa8f1fbd7b5798c2762f41cdf02a52a.png

连接MySql

修改 application.properties 为 application.yml

4559c77c0f7ce1b2b73666f438d2f705.png

插入一下代码
要修改的内容: url: jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC&&characterEncoding=utf-8中的student改为自己的数据库名称

spring:  #配置 数据库  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 打印日志 不需要手写sql 可查看把我们完成的sql mybatis-plus:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 设置端口号server:  port: 800112345678910111213141516171819202122

pom.xml 依赖包

c644a6e17d4ecbbeda5639254c33c366.png
    org.springframework.boot            spring-boot-starter-web        mysql            mysql-connector-java        com.baomidou            mybatis-plus-boot-starter            3.0.5org.apache.velocity            velocity-engine-core            2.0org.freemarker            freemarker        org.apache.tomcat.embed            tomcat-embed-jasper        javax.servlet            javax.servlet-api        javax.servlet.jsp            javax.servlet.jsp-api            2.3.1javax.servlet            jstl        org.springframework.boot            spring-boot-starter-test            testorg.junit.vintage                    junit-vintage-engine                1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

IDEA 链接数据库

IDEA 链接本地MySql数据库 (可以确定Mysql能正常访问 ,方便我们调试)
1.点击屏幕右侧Database
2.点击如下如的加号
3.DataSource
4.选择Mysql

4861881b6f3e8b5a780ff72ce1bd3714.png
546854e3526b64833b3b52a8851bda88.png


**如上图所示表示成功连接,如果报错,检查用户名,密码,数据库名称 **

常见问题:时区(time zone)相关的报错Mysql控制台写下面的代码 重新Test Connection 。

set global time_zone='+8:00';1

连接成功可以看到刚才见的数据库

d1a7c1d5d5f77ebd1fa58de3c225c8af.png

为了方便我们测试点击加号“+”增加两条记录

增加完成后点击如下图DB的小图标(如果没看到鼠标移到大概位置会显示别出来)

8366bad162bd87e6d515c85640bbf499.png

代码生成器(不用我们自己写实体类,controller ,mapper,service等)

在下图目录下测试类新建一个类GenerateCode

97140bba107015398120b93bb82e7ab5.png

代码如下:

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

 pg.setParent("com.example.xxxx");1

2.改称自己的昵称

  gc.setAuthor("艾科");  1

3.把下边的student 改为自己建的数据库名称

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

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

dsc.setDriverName("com.mysql.cj.jdbc.Driver"); //8.0dsc.setDriverName("com.mysql.jdbc.Driver"); //8.0以下12
  1. 数据库用户名和密码
 dsc.setUsername("root"); dsc.setPassword("root"); 12

6.最后一个也是最重要的:这里是自己的数据不哭表

strategy.setInclude("student");1

代码如下:

public class GenerateCode {    public static void main(String[] args) {        AutoGenerator ag=new AutoGenerator();//         全局配置        GlobalConfig gc=new GlobalConfig();        String projectPath=System.getProperty("user.dir"); //获取项目根目录        gc.setOutputDir(projectPath+"/src/main/java");  //设置输出目录        gc.setAuthor("艾科");  //代码注解        gc.setOpen(false);         gc.setFileOverride(false);  //是否覆盖(选否)不然会覆盖掉写过的代码        gc.setServiceName("%sService");         gc.setIdType(IdType.ID_WORKER);  // 可以根据需求改成IdType.AUTO 或者其他        gc.setDateType(DateType.ONLY_DATE);  //Date 类型 只使用 java.util.date 代替        ag.setGlobalConfig(gc);//         设置数据源        DataSourceConfig dsc=new DataSourceConfig();  //不要忘了修改数据库名称        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); //数据库类型        ag.setDataSource(dsc);//      包的配置        PackageConfig pg=new PackageConfig();//         pg.setModuleName("")        pg.setParent("com.example.xxxx");  //把xxx 改成你自己的        pg.setEntity("entity"); //实体类创建目录        pg.setMapper("mapper");//mapper        pg.setController("controller");//controoler        ag.setPackageInfo(pg);        StrategyConfig strategy = new StrategyConfig();        strategy.setNaming(NamingStrategy.underline_to_camel); //代码风格驼峰结构        strategy.setColumnNaming(NamingStrategy.underline_to_camel);        strategy.setEntityLombokModel(false);        strategy.setRestControllerStyle(true);        strategy.setInclude("student");     // table 名称 ,根据table 名称生成 实体类,controller,service, mmapper       //   strategy.setInclude("student,user,class");     // 多个表用都逗号分开        strategy.setControllerMappingHyphenStyle(true);        ag.setStrategy(strategy);        ag.execute();    }123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

改完了执行该类

cd9483af50fc1ae714e27df511b15be4.png
1d8afab2aa21f6685397d3ab594b09cc.png

MyBatis Plus

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

61ba9b2760fd6301ba2e805d750be7e6.png


**如果怕敲错可以复制StudentMpaper 中的packege **

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

MyBatis Plus 简单查询 (这个可以留到最后写作业的时候学 PS:肯定会用到)

 @Autowired    StudentMapper studentMapper;        //        Mybatis plus 查询 student 表中的数据 返回List 类型//    相当于:    SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student        List list = studentMapper.selectList(null);        list.forEach(System.out::println);//        通过id 查询  相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id=1        Student student1 = studentMapper.selectById(1);//        条件查询 查询单个 相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_name = ? AND stu_sex = ?        QueryWrapper wrapper = new QueryWrapper<>();        wrapper.eq("stu_name", "小明");        wrapper.eq("stu_sex", "男");        Student student2 = studentMapper.selectOne(wrapper);        //        条件查询 查询列表  相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id > 1        QueryWrapper 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 相当于 ://        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), 计算机(String)        Student student=new Student();        student.setStuName("aike");        student.setStuSex("男");        student.setDate(date);        student.setRoom(226);        student.setAcadimy("计算机");        studentMapper.insert(student);        1234567891011121314151617181920212223242526272829303132333435363738

更多复杂查询查询官网-----> MyBatis-Plus 官网

访问JSP页面

之前在pom.xml 中导入了相关的依赖包了

在mian 目录下创建 webapp 文件夹

68aa7f12c8e94d97fbaad368a22683f9.png
376fd99284e8738c21c8d29e5c270933.png


在webapp 目录下创建 student.jsp文件

4b027a925eaf875bbe13ee397f41ab76.png
8ed660af41611483efa6c6e167f53e5f.png

student.jsp文件内容如下 把下面的文件放到 student.jsp

    学生信息
ID 姓名 性别 学院 入学时间 宿舍号 新增学生 新增宿舍 ${stu.stuId} ${stu.stuName} ${stu.stuSex} ${stu.acadimy} ${stu.date} ${stu.room} 修改宿舍 查询记录
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

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 表中的数据 返回List 类型//    相当于:    SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student        List list = studentMapper.selectList(null);        model.addAttribute("students", list);        return "student";    }}12345678910111213141516171819202122

运行结果(运行按钮在右上角):localhost:你的端口号/student/findall

e5f87ca62500ef908d91bc540c98c7f6.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值