sprintboot + mybaits + mysql + html5 + thymeleaf 个人笔记
参考:https://github.com/daleiwang/moxi
service
@Mapper 与 @Select 等
@Mapper似乎是一个myBaits 注解,表示将java方法和sql操作映射起来
sql语句里的用井号和花括号括起来的参数,对应实体类里的各个同名属性
例如#{userName} 对应了 参数admin对象的userName属性
@Mapper // mapper似乎是一个myBaits 注解,表示将java方法和sql操作映射起来
public interface AdminService {
//sql语句里的用井号和花括号括起来的参数,对应实体类里的各个同名属性
//例如#{userName} 对应了 参数admin对象的userName属性
@Select("SELECT * FROM `moxi`.`admin` where userName = #{userName} and password = #{password} ;")
Admin findByNameAndPassword(Admin admin);
@Select("SELECT * FROM `moxi`.`admin` where userName = #{userName} and password = #{password} and realName = #{realName}")
List<Admin> findByAdminWithPage(Admin admin, int start, int end);
@Insert("INSERT INTO `moxi`.`admin` (`id`, `userName`, `password`, `realName`, `age`, `phoneNumber`, `headPicture`, `addDate`, `updateDate`, `state`) VALUES (null, #{userName}, #{password}, #{realName}, #{age}, #{phoneNumber}, #{headPicture}, now(), now(), 0);")
int insert(Admin admin);
@Update("UPDATE `moxi`.`admin` SET `userName` = #{userName}, `password` = #{password}, `realName` = #{realName}, `age` = #{age}, `phoneNumber` = #{phoneNumber}, `headPicture` = #{headPicture}, `updateDate` = now(), `state` = #{state} WHERE `id` = #{id};")
int updateStateById(int id);
@Delete("DELETE FROM `moxi`.`admin` WHERE id = #{id}")
int deleteById(int id);
}
controller
如何知道每个url对应哪个html
当我看上面这个github里的项目,包括其中readme里提供的简书教程时,我很疑惑,怎样知道每个url对应哪个html文件。
后来弄懂了,大致如下:
- 把html文件放在项目根目录/src/main/resources/static文件夹下,
如果用了thymeleaf 就放在/src/main/resources/template文件夹下.
这里我们用了thymelead,所有选择后者 - 有
@RequestMapping(一串url)
注解的函数,最后返回该html在static目录下的完整路径,不含html后缀。例如想以"localhost:8080/test"这个url,跳转到template文件夹下的test.html ,就让该函数return "test";
下面是两个例子:
/**
* 登录跳转:使"localhost:8080/admin/login"路径对应template 下的login.html 文件
*
* @param model
* @return
*/
@GetMapping("/admin/login")
public String loginGet(Model model) {
return "login";
}
@RequestMapping("/admin/newsManage_{pageCurrent}_{pageSize}_{pageCount}")
//表示该函数处理 括号中的url里的请求,包括get、post等
public String newsManage(News news,@PathVariable Integer pageCurrent,@PathVariable Integer pageSize,@PathVariable Integer pageCount, Model model) {
//blabala
return "news/newsManage"; //表示运用到static文件加下,news文件夹下,文件名为newsManage.html的html文件
}//这样一来/admin/newsManage_{pageCurrent}_{pageSize}_{pageCount} 这个路径显示的就是newsManage.html这个html文件的内容
遇到过的错误
- 启动错误:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studentController': Unsatisfied dependency expressed through field 'studentService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentService' defined in file [C:\Users\yuqiao\Desktop\test\target\classes\com\example\test\service\StudentService.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Could not find value method on SQL annotation. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 66; XML 文档结构必须从头至尾包含在同一个实体内。
StudentService中的sql语句写错,漏删了
- 路由错误:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Dec 23 15:25:59 CST 2017
There was an unexpected error (type=Not Found, status=404).
No message available
原因@RequestMapping 写的位置不对,应该写在方法实现的上方,类的里面;我写在了类的上方
- 实体类缺set和get方法
There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/index.html]")
在idea里翻报错,有一句:Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'major' cannot be found on object of type 'com.example.test.model.Student' - maybe not public or not valid?
再找实体类Student,发现里面缺了major属性的get和set方法
sprintboot + mybaits + mysql + html5 + thymeleaf 个人笔记的更多相关文章
- Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记
Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...
- MYSQL视图的学习笔记
MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具 1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...
- mySQl数据库的学习笔记
mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- CentOS6.8下MySQL MHA架构搭建笔记
转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...
- Mysql存储引擎__笔记
Mysql存储引擎(表类型): Mysql数据库: 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以使存储器上一些文件的集合或者一些内存 数据的内存数据的集合. Mysql数据库是开放源代 ...
- HTML5硕士学习笔记
如今,该集团经过培训的同事给大家HTML5,他出席了两个5训练日,大概过一次给我们,在一个很形象.同事们更感兴趣的是. 课后共享所有的课件.在热情的新技术,我想工作有一个良好的早晨,我决定重新学习课件 ...
- HTML5&CSS3读书笔记
Hi All, 分享一下我学HTML5 摘抄的读书笔记(我用的还是英文,因为一些新的东西还是来自于欧美国家,希望大家习惯于看一些英文材料): 1. Difference between Section ...
- HTML5标签总结笔记
HTML5标签笔记 1.格式标签 元素名和属性一般不区分大小写,特殊的如id和class需要区分 格式标签: <acronym> 定义只取首字母的标签 <abbr>定义缩写 & ...
随机推荐
- April Fools Contest 2017 C
Description DO YOU EXPECT ME TO FIND THIS OUT? WHAT BASE AND/XOR LANGUAGE INCLUDES string? DON'T BYT ...
- h5-15-svg格式图片
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JSP九大内置对象的作用和用法总结【转】
JSP九大内置对象的作用和用法总结? JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.c ...
- 在虚拟机里安装windows或Linux系统时,安装窗口过大按钮有时点不到解决办法(图文详解)
不多说,直接上干货! 问题详情 解决办法 很简单快捷的解决办法,就是快捷键ALT+F7,可以拖动窗口的位置. 成功!
- springboot 配置Ehcache
Ehcache的基本配置说明我就不说了.小编记录一下在springboot中使用Ehcache的使用方法. 第一步:在classpath下引入配置文件ehcache.xml 代码如下: <ehc ...
- php传json格式给C++时乱码解决方案
今天在做给C++传json数据时,C++无法识别到中文 网上查下原因有json只支持utf-8,但是我的整个项目编码都是utf8的,没有出现过其它编码,所以问题还是抛给了C++解决,后来经一高手解答说 ...
- jmeter配置mysql数据库步骤
安装环境: Windows10系统 jmeter版本:3.0版本 java1.8版本 安装步骤: 1.下载连接mysql数据库jar包,地址:http://download.csdn.net/deta ...
- 猩球StarBall ,一个方便约球的小程序
扫描小程序码直接进入小程序 猩球StarBall 是一款为热爱运动的人群提供便利的小程序. 开发技术为Java +Mysql 其中用到的技术框架为SpringBoot,Mybatis,Redis,Qu ...
- Springboot + Websocket + Sockjs + Stomp + Vue + Iview 实现java后端日志显示在前端web页面上
话不多说,看代码. 一.pom.xml 引入spring boot websocket依赖 <dependency> <groupId>org.springframework. ...
- [ CQOI 2018 ] 异或序列
\(\\\) Description 给出一个长为 \(n\) 的数列 \(A\) 和 \(k\),多次询问: 对于一个区间 \([L_i,R_i]\),问区间内有多少个不为空的子段异或和为 \(k\ ...