参考: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文件。

后来弄懂了,大致如下:

  1. 把html文件放在项目根目录/src/main/resources/static文件夹下,

    如果用了thymeleaf 就放在/src/main/resources/template文件夹下.

    这里我们用了thymelead,所有选择后者
  2. @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文件的内容

遇到过的错误

  1. 启动错误: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语句写错,漏删了

  1. 路由错误:

    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 写的位置不对,应该写在方法实现的上方,类的里面;我写在了类的上方

  1. 实体类缺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 个人笔记的更多相关文章

  1. 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.下 ...

  2. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  3. mySQl数据库的学习笔记

    mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...

  4. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  5. CentOS6.8下MySQL MHA架构搭建笔记

    转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...

  6. Mysql存储引擎__笔记

    Mysql存储引擎(表类型): Mysql数据库: 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以使存储器上一些文件的集合或者一些内存 数据的内存数据的集合. Mysql数据库是开放源代 ...

  7. HTML5硕士学习笔记

    如今,该集团经过培训的同事给大家HTML5,他出席了两个5训练日,大概过一次给我们,在一个很形象.同事们更感兴趣的是. 课后共享所有的课件.在热情的新技术,我想工作有一个良好的早晨,我决定重新学习课件 ...

  8. HTML5&CSS3读书笔记

    Hi All, 分享一下我学HTML5 摘抄的读书笔记(我用的还是英文,因为一些新的东西还是来自于欧美国家,希望大家习惯于看一些英文材料): 1. Difference between Section ...

  9. HTML5标签总结笔记

    HTML5标签笔记 1.格式标签 元素名和属性一般不区分大小写,特殊的如id和class需要区分 格式标签: <acronym> 定义只取首字母的标签 <abbr>定义缩写 & ...

随机推荐

  1. [已读]web性能实践日志

    书是在今年5月份出版,但是书中的内容是发表于11年到12年之间的,如果知道这一点,我一定不会买~ 列举一下大致内容: YSlow localStroage读取数据最佳策略 性能优化各种策略(图片精灵 ...

  2. D. The Door Problem 带权并查集

    http://codeforces.com/contest/776/problem/D 注意到每扇门都有两个东西和它连接着,那么,如果第i扇门的状态是1,也就是已经打开了,那么连接它的两个按钮的状态应 ...

  3. B. Code For 1 一个类似于线段树的东西

    http://codeforces.com/contest/768/problem/B 我的做法是,观察到,只有是x % 2的情况下,才有可能出现0 其他的,都是1来的,所以开始的ans应该是R - ...

  4. 关于spring mvc 和struts2的描述与对比

    链接:https://www.nowcoder.com/questionTerminal/cf803beb7e3346caa636e4eaa3a8c2e9来源:牛客网 ---------------- ...

  5. CGI和Servlet的比较

    转载自:http://www.maxhis.info/java/cgi-vs-servlet/ 概括来说,CGI和Servlet可以完成相同的功能. CGI(Common Gateway Interf ...

  6. 使用json传输数组实例

    client.php <?php //遍历数组元素,并将元素转码 function array_iconv($data, $in_charset='GBK', $out_charset='UTF ...

  7. 洛谷P2762 太空飞行计划问题(最大权闭合图)

    题意 有$m$个实验,$n$中器材,每个实验需要使用一些器材 每个实验有收入,每个器材有花费 最大化收入 - 花费 Sol 最大权闭合图的经典应用 从$S$向每个实验连流量为该实验收入的边 从每个器材 ...

  8. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  9. SQL Server之增删改操作

    -------添加约束.增删改 use StudentDB2 go --------创建学生表--------- create table StudentInfo( --studentId int p ...

  10. elasticsearch插入索引文档 对数字字符串的处理

    对于字符串在搜索匹配的时候,字符串是数字的话需要匹配的是精准匹配,如果是部分匹配字符串的话,需要进行处理,把数字型字符串作为一个字符中的数组表示插入之后显示如下: 如果插入之后显示如画线部分的话,则表 ...