springboot+mybatis+freemark环境搭建

来源:互联网 发布:叶如何知秋 编辑:程序博客网 时间:2024/06/05 16:21

最近用springboot和mybatis做一个手机app版本管理的项目,写了两周来总结一下碰到的问题,项目源码:https://github.com/Jacwo/version_control

  • 环境搭建

           作者使用的编程工具是intellij IDEA2017不同的工具有不同的构建方法。

           File->project

         

        选择Spring Initializr 选择jdk 然后next

继续下一步

         这个页面可以勾选各个引擎,在这儿使用的是springboot+mybatis+freemark+mysql,勾选之后点击下一步,IDEA就能自动的帮我们构建项目环境啦是不是很简单。

       
     构建成功的目录结构,其他多余的可以删除,IDEA构建的是maven项目,自身也有maven仓库,如需配置自己的maven不懂得可以自行百度。

       

       接下来就是配置一下数据源和mybatis了

      springboot是一个配置只需在application.properties中配置 下面配置数据源和mybatis

1 集成mybatis

mybatis.config-locations=classpath:mybatis/mybatis-config.xmlmybatis.mapper-locations=classpath:mybatis/mapper/*.xmlmybatis.type-aliases-package=net.northking.vm.domainspring.http.multipart.maxFileSize=100Mbspring.http.multipart.maxRequestSize=100Mb
 2 数据源

#spring.datasource.url =jdbc:mysql://localhost:3308/version_control?useUnicode=true&characterEncoding=utf-8#spring.datasource.username =root#spring.datasource.password =mysql#spring.datasource.driverClassName = com.mysql.jdbc.Driver
 我采用的是xml配置式的mybatis 本人更喜欢这种形式,感觉更加直观

3.日志输出和freemark模板的配置

logging.level.net.northking.vm.controller=WARN#com.mycompany.mavenspringboot.mapper sql日志 DEBUG级别输出logging.level.net.northking.vm.mapper=DEBUGlogging.file=logs/spring-boot-logging.loglogging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%nlogging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%nspring.freemarker.allow-request-override=falsespring.freemarker.cache=falsespring.freemarker.check-template-location=truespring.freemarker.charset=UTF-8spring.freemarker.content-type=text/htmlspring.freemarker.expose-request-attributes=falsespring.freemarker.expose-session-attributes=falsespring.freemarker.expose-spring-macro-helpers=false
4服务端口

server.port=8090
接下来再resources下新建mybatis的文件夹主要放置一写mapper.xml和mybatis-config.xml 目录结构如下

resources

      mybatis

             mapper

             mybatis-config.xml

mybatis-config.xml主要是一些别名的配置

<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="Date" type="java.util.Date" />        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />        <typeAlias alias="ArrayList" type="java.util.ArrayList" />        <typeAlias alias="LinkedList" type="java.util.LinkedList" />    </typeAliases></configuration>
mapper文件夹下主要放一些mapper映射文件mapper.xml文件的名字一定要和mapper接口的名字一致

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="net.northking.vm.mapper.UserMapper" >    <resultMap id="BaseResultMap" type="net.northking.vm.domain.User" >        <id column="id" property="id" jdbcType="VARCHAR" />        <result column="mail" property="mail" jdbcType="VARCHAR" />        <result column="password" property="password" jdbcType="VARCHAR" />    </resultMap>    <sql id="Base_Column_List" >        id, mail, password    </sql>    <select id="existUser" parameterType="net.northking.vm.domain.User" resultType="net.northking.vm.domain.User">        select        mail,        id,        password        from        user        where        mail=#{mail}        and        password=#{password}    </select>    <select id="existName" parameterType="net.northking.vm.domain.User" resultType="int">        select        count(*)        from        user        where        mail=#{mail}    </select>    <select id="getAll" resultMap="BaseResultMap"  >        SELECT        <include refid="Base_Column_List" />        FROM user    </select>    <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >        SELECT        <include refid="Base_Column_List" />        FROM users        WHERE id = #{id}    </select>    <insert id="insert" parameterType="net.northking.vm.domain.User" >        INSERT INTO        user        (id,mail,password)        VALUES        (#{id},#{mail}, #{password})    </insert>    <update id="update" parameterType="net.northking.vm.domain.User" >        UPDATE        user        SET        <if test="mail != null">mail = #{mail},</if>        <if test="password != null">password = #{password},</if>        WHERE        id = #{id}    </update>    <delete id="delete" parameterType="java.lang.Long" >        DELETE FROM        user        WHERE        id =#{id}    </delete></mapper>

UserMapper接口

package net.northking.vm.mapper;import net.northking.vm.domain.User;import java.util.List;/** * Created by liangliang on 2017-11-03. */public interface UserMapper {    List<User> getAll();    User getOne(Long id);    void insert(User user);    void update(User user);    void delete(Long id);    //验证用户账号密码    User existUser(User user);    //验证用户名是否存在    int existName(User user);}

然后再




  • 常见异常

原创粉丝点击