编写mapper接口和对应的mapper.xml文件,注意对应的注解

@Mapper
@Repository
public interface StudentMapper {
void insertStudent(Student student);
}

@Mapper注解标注这个接口是个mapper接口

@Repository

mapper.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wang.mapper.StudentMapper">
<insert id="insertStudent" parameterType="student">
insert into student(sname,age) values (#{sname},#{age})
</insert>
</mapper>

创建pojo,注意需要继承serializable接口

public class Student implements Serializable {
private String sname;
private String sex;
private Integer age;
private Integer sid;
public String getSname() {
return sname;
} public void setSname(String sname) {
this.sname = sname;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Integer getSid() {
return sid;
} public void setSid(Integer sid) {
this.sid = sid;
} public Student(String sname, String sex, Integer age, Integer sid) { this.sname = sname;
this.sex = sex;
this.age = age;
this.sid = sid;
}
}

service层实现

service接口

public interface studentService {
void insertstudent(Student student);
}  

对应service的实现类

@Service
@Transactional
public class studentserviceImpl implements studentService { @Autowired
private StudentMapper studentMapper; public void insertstudent(Student student) {
studentMapper.insertStudent(student);

@service将service类注册到spring容器

@transactional

注意为了能够操作数据库,这里传过来一个对应的mapper接口

controller编写

@Controller
@RequestMapping("/users")
public class studentController {
@Autowired
studentserviceImpl studentservice;
/**
* 跳转页面
* @param
*/
@RequestMapping("/{page}")
public String showpage(@PathVariable String page){
return page;
} @RequestMapping("/adduser")
public String adduser(Student student){
studentservice.insertstudent(student);
return "ok";
}
}

对应的HTML页面

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>yonghu</title>
</head>
<body>
<form th:action="@{/users/adduser}" method="post"> <!-- 注意IDEA中有时候不会补全< />,自己需要注意并加上/ -->
<input type="text" name="sname" /><br/>
<input type="text" name="age" /><br/>
<input type="submit" value="confirm">
</form>
</body>
</html>

这里需要注意,为了能够使用th:标签,需要在html文件中引入命名空间

<html xmlns:th="http://www.thymeleaf.org">

跳转页面的html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
save successfully
</body>
</html>

对应source目录下application.yml文件的配置内容

spring:                                 数据源的配置,这儿里出现一个问题,使用阿里巴巴对应的jar包的时候出现时区不一致的问题,需要设置时区
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/student?characterEncoding=utf-8
username: root
password:
type: com.alibaba.druid.pool.DruidDataSource
thymeleaf:
suffix: .html
prefix: classpath:/templates/ 给thymleaf设置前缀和后缀,这样找页面的时候直接写上HTML文件的名字就行了。
mode: HTML
cache: true
encoding: utf-8
mybatis:
type-aliases-package: com.wang.pojo
mapper-locations: classpath:mapper/*Mapper.xml

mybatis需要设置两个东西,一个别名和一个指定mapper.xml文件位置

对应上面红色问题的解决方法

命令行启动MySQL,执行下面语句设置时区

 set global time_zone='+8:00';

最后查看对应时区

show variables like '%time_zone%';

最后启动类的编写(这里特别注意启动mapper扫面,里面放上扫描的包路径)

@SpringBootApplication
@MapperScan("com.wang.mapper.*")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}

工程结构

需要注意resources/static下面的内容是可以直接被访问的,以后还是需要注意一些类和方法的命名规则。

springboot和mybatis之thymleaf整合简单插入用户数据的更多相关文章

  1. 手写Mybatis和Spring整合简单版示例窥探Spring的强大扩展能力

    Spring 扩展点 **本人博客网站 **IT小神 www.itxiaoshen.com 官网地址****:https://spring.io/projects/spring-framework T ...

  2. 学习spring第五天 mybatis+spring的整合(maven多模块数据查询使用了分页和连接池),以及aop

    mybatis+spring的整合: 导入的依赖:1.数据库连接:mysql-connector-java 2.连接池:druid 3.servlet:javax.servlet-api 4.jstl ...

  3. MyBatis和spring整合简单实现

    spring和MyBatis整合: 导入spring和MyBatis的整合jar包,以及其依赖jar包: 导入MyBatis和spring的整合jar包. spring的核心jar包. 定义Mybat ...

  4. Springboot与Mybatis整合

    最近自己用springboot和mybatis做了整合,记录一下: 1.先导入用到的jar包 <dependency> <groupId>org.springframework ...

  5. Springboot与MyBatis简单整合

    之前搭传统的ssm框架,配置文件很多,看了几天文档才把那些xml的逻辑关系搞得七七八八,搭起来也是很麻烦,那时我完全按网上那个demo的版本要求(jdk和tomcat),所以最后是各种问题没成功跑起来 ...

  6. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  7. springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件

    整合mybatis实在前面项目的基础上进行的,前面项目具体整合请参照springboot使用之一. 一.整合mybatis 整合mybatis的时候可以从mybatis官网下载mybatis官网整合的 ...

  8. SpringBoot系列——MyBatis整合

    前言 MyBatis官网:http://www.mybatis.org/mybatis-3/zh/index.html 本文记录springboot与mybatis的整合实例:1.以注解方式:2.手写 ...

  9. 30分钟带你了解Springboot与Mybatis整合最佳实践

    前言:Springboot怎么使用想必也无需我多言,Mybitas作为实用性极强的ORM框架也深受广大开发人员喜爱,有关如何整合它们的文章在网络上随处可见.但是今天我会从实战的角度出发,谈谈我对二者结 ...

随机推荐

  1. html框架以及属性字体应用

    今日java开课,下午老师讲解了java的第一节课,有关于html的框架,为了自己方便以后也会在日记中添加一些便签方便自己使用. 了解这一些之后老师发布的作业也让我对码代码有了更深的认知,码完作业之后 ...

  2. Hibernate主键自增策略

    hibernate 主键生成策略配置: 通过 实体类映射文件中 <id>元素的 子元素 <generator> 元素进行配置 <generator> 常用配置: ( ...

  3. 如何用node命令和webpack命令传递参数 转载

    1. 比如在项目中我们的publicPath需要根据服务器环境的变化而变化,这时我们会写一个配置文件,在webpack.config.js中读取,可以 如何才能 取到变量呢? 这里介绍一种方法: 如果 ...

  4. C#的发展历程 -- 系列介绍

    C#的发展历程第五 - C# 7开始进入快速迭代道路 C#与C++的发展历程第四 - C#6的新时代 C#与C++的发展历程第三 - C#5.0异步编程巅峰 C#与C++的发展历程第二 - C#4.0 ...

  5. 对象克隆(C# 快速高效率复制对象另一种方式 表达式树转)

    1.需求 在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍. 比如: public class Student { public int Id { get; set; } publi ...

  6. javaScript 中的私有,共有,特权属性和方法

    function constructor () { var private_v; // 私有属性 var private_f = function () { // 私有方法 // code }; th ...

  7. 【idea】之使用SVN一些技巧

    @Copy https://www.cnblogs.com/whc321/p/5669804.html

  8. 单源最短路径算法——Dijkstra算法(迪杰斯特拉算法)

    一 综述 Dijkstra算法(迪杰斯特拉算法)主要是用于求解有向图中单源最短路径问题.其本质是基于贪心策略的(具体见下文).其基本原理如下: (1)初始化:集合vertex_set初始为{sourc ...

  9. NodeJs中类定义及类使用

    1.首先定义类Point,文件名为point.class.js: // 定义类 class Point { //构造函数 constructor(x, y) { this.x = x;//类中变量 t ...

  10. nginx配置分发Tomcat服务,负载均衡

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中瓦片资源越来越多,如果提高瓦片的访问效率是一个需要解决的 ...