Spring boot入门,整合mybatis开发案例

来源:互联网 发布:深圳软件学校 编辑:程序博客网 时间:2024/05/18 01:57

最近要做一个小的项目,之前做项目用的是Spring-Spring MVC-Mybatis架构,需要很多的配置文件。但是,发现了最近比较流行的Spring Boot框架,稍微了解一下便迫不及待的想动手试试了。

简介

:Spring Boot——微服务框架,简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

话不多说,下面介绍具体的案例开发。

环境

MyEclipse 2014,mysql,JDK1.7,maven3.0.0

框架搭建:
—–这里写图片描述
这里写图片描述
1. 建立一个maven工程,在pom.xml文件中引入依赖的架包,因为页面用的是jsp,所以这里需要引入Servlet依赖和Tomact支持

<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>1.3.3.RELEASE</version>  </parent>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <java.version>1.7</java.version>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter</artifactId>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-test</artifactId>        <scope>test</scope>    </dependency>    <!-- servlet依赖. -->    <dependency>        <groupId>javax.servlet</groupId>        <artifactId>javax.servlet-api</artifactId>        <scope>provided</scope>    </dependency>    <dependency>        <groupId>javax.servlet</groupId>        <artifactId>jstl</artifactId>    </dependency>     <!-- tomcat的支持.-->    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-tomcat</artifactId>        <scope>provided</scope>    </dependency>    <dependency>        <groupId>org.apache.tomcat.embed</groupId>        <artifactId>tomcat-embed-jasper</artifactId>        <scope>provided</scope>    </dependency>     <!-- mysql依赖 -->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>5.1.42</version>    </dependency>    <!-- mybatis依赖 -->    <dependency>        <groupId>org.mybatis.spring.boot</groupId>        <artifactId>mybatis-spring-boot-starter</artifactId>        <version>1.1.1</version>    </dependency>  

编写启动类

启动类要在普通类的父类路径下

package com.zzti;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * <pre>Spring Boot服务启动入口,使用了@SpringBootApplication注解, *  会自动扫描该类子路径下所有 *   @Controller、@Service、@Repository、@Conponent 等注解类</pre> * */@SpringBootApplication@MapperScan("com.zzti.dao")//自动扫描注册beanpublic class ApplicationStart {    public static void main(String[] args) {        SpringApplication.run(ApplicationStart.class, args);    }}

编写配置文件 application.properties

spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jspspring.datasource.url=jdbc:mysql://127.0.0.1:3306/areainfospring.datasource.username=rootspring.datasource.password=6486105spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis.config-locations=classpath:mybatis/mybatis-config.xmlmybatis.mapper-locations=classpath\:mybatis/mapper/*.xml

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">  <configuration>    <typeAliases>        <typeAlias alias="Integer" type="java.lang.Integer" />        <typeAlias alias="Long" type="java.lang.Long" />        <typeAlias alias="HashMap" type="java.util.HashMap" />        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />        <typeAlias alias="ArrayList" type="java.util.ArrayList" />        <typeAlias alias="LinkedList" type="java.util.LinkedList" />    </typeAliases></configuration> 

UserMapper.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.zzti.dao.UserDao">    <resultMap type="com.zzti.entity.User" id="BaseResultMap">        <id column="id" property="id"/>        <result column="username" property="username" jdbcType="VARCHAR"/>        <result column="userpwd" property="userpwd" jdbcType="VARCHAR"/>    </resultMap>    <select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long">        select *from user where id=#{id}    </select>    <insert id="insertUser" parameterType="com.zzti.entity.User" useGeneratedKeys="true"            keyProperty="Id">    insert into test_user (Id,username,userpwd)    values (#{user.id},      #{user.username}, #{user.userpwd})  </insert></mapper>

Dao接口

package com.zzti.dao;import com.zzti.entity.User;public interface UserDao {    public User getById(long id);    public void insertUser(User user);}

编写Controller

package com.zzti.controller;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.SpringApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.zzti.dao.UserDao;import com.zzti.entity.User;@Controllerpublic class TestController {    @Autowired    private UserDao userDao;    @RequestMapping("/hello")    public String hello(Map<String,Object> map){        User u=userDao.getById(1);        map.put("name",u.getUsername());        return "helloJsp";    }}

编写View(helloJsp.jsp)
这里写图片描述

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>Test</title>  </head>  <body>    hello,${name}  </body></html>

运行

运行ApplicationStart.class类
这里写图片描述
spring boot运行的标志
Spring Boot内置了一个Tomcat容器,启动成功后,在浏览器端输入localhost:8080/hello