参考: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. AtCoder Regular Contest 083 E - Bichrome Tree

    题目传送门:https://arc083.contest.atcoder.jp/tasks/arc083_c 题目大意: 给定一棵树,你可以给这些点任意黑白染色,并且赋上权值,现给定一个序列\(X_i ...

  2. 第05课 Linux命令初探(一)

    该篇为第一部分,主要介绍的Linux指令有: mkdir.cd.ls.rm.touch.vi/vim.echo.cat.cp.mv.pwd.rm.rmdir 1.创建一个目录/data 提示:Wind ...

  3. XHTML 1.0 的三种 XML 文档类型 DOCTYPE

    XHTML 1.0 的三种 XML 文档类型 XHTML 1.0 规定了三种 XML 文档类型 XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W ...

  4. 521 Longest Uncommon Subsequence I 最长特殊序列 Ⅰ

    给定两个字符串,你需要从这两个字符串中找出最长的特殊序列.最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列).子序列可以通过删去字符串中的某些字符实现,但不能改变剩余 ...

  5. spark block读写流程分析

    之前分析了spark任务提交以及计算的流程,本文将分析在计算过程中数据的读写过程.我们知道:spark抽象出了RDD,在物理上RDD通常由多个Partition组成,一个partition对应一个bl ...

  6. 如何从GAC中拷贝文件出来 C:\Windows\assembly

    方法一:命令行拷贝. 开始--运行--cmd--"cd C:\WINDOWS\assembly".一般自己开发的dll都在GAC_MSIL这个文件夹下面,按照我如下的截图就可以拷贝 ...

  7. 用私有构造器或者枚举类型强化Singleton

    参考Effective Java第三版 Joshua J. Bloch 参与编写JDK的大佬,上次看Collections的源码时看见了他的名字,然后翻了翻书,竟然就是他写的! 1.常见的一种: pu ...

  8. vmware让虚拟机内外网络可互访

    以下方法可使主机可以ping通虚拟机,虚拟机也可以ping通主机 首先对虚拟机设置 然后设置虚拟机,假设主机的ip是10.0.0.9,那虚拟机的ip应如下设置: 其中ip地址任意设置一个,但要求跟主机 ...

  9. TFS2010升级至TFS2013完全指南(更换服务器)

    一.背景:         公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...

  10. Mybatis的Service循环调用错误

    org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'z ...