美文网首页
SpringBoot整合mybatis——xml版

SpringBoot整合mybatis——xml版

作者: V锅锅 | 来源:发表于2018-10-10 14:57 被阅读0次

    1、pom文件添加依赖

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    
    
        <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>
    
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    </dependencies>
    
    <build>
    
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    2、修改resources包下的application.properties文件

    #mapper自动扫描
    mybatis.type-aliases-package=com.huaxun.springboot.mapper
    #数据库信息
    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    spring.datasource.url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8
    spring.datasource.username = root
    spring.datasource.password = root
    #添加jsp支持,制定页面跳转的文件加和文件后缀
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    

    3、在entity包下新建User类,并在数据新建对应的表

    DROP TABLE IF EXISTS `users`;
    CREATE TABLE `users` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
      `userName` varchar(32) DEFAULT NULL COMMENT '用户名',
      `passWord` varchar(32) DEFAULT NULL COMMENT '密码',
      `user_sex` varchar(32) DEFAULT NULL,
      `nick_name` varchar(32) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8;
    
    public class User {
        private  int id;
        private String userName;
        private String passWord;
        private String userSex;
        private String nickName;
    
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getUserName() {
            return userName;
        }
        public void setUserName(String userName) {
            this.userName = userName;
        }
        public String getPassWord() {
            return passWord;
        }
        public void setPassWord(String passWord) {
            this.passWord = passWord;
        }
        public String getUserSex() {
            return userSex;
        }
        public void setUserSex(String userSex) {
            this.userSex = userSex;
        }
        public String getNickName() {
            return nickName;
        }
        public void setNickName(String nickName) {
            this.nickName = nickName;
        }
    }
    

    4、在resouces包下新建mybatis包,并在mybatis包下新建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>
    

    5、在刚刚新建的mybatis包下,再新建mapper包,并在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="com.huaxun.springboot.mapper.UserMapper" >
        <resultMap id="BaseResultMap" type="com.huaxun.springboot.entity.User" >
            <id column="id" property="id" jdbcType="BIGINT" />
            <result column="userName" property="userName"  />
            <result column="passWord" property="passWord"  />
            <result column="user_sex" property="userSex" />
            <result column="nick_name" property="nickName"  />
        </resultMap>
    
        <sql id="Base_Column_List" >
            id, userName, passWord, user_sex, nick_name
        </sql>
    
        <select id="getAll" resultMap="BaseResultMap"  >
            SELECT
            <include refid="Base_Column_List" />
            FROM users
        </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="com.huaxun.springboot.entity.User" >
            INSERT INTO
            users
            (userName,passWord,user_sex)
            VALUES
            (#{userName}, #{passWord}, #{userSex})
        </insert>
    
        <update id="update" parameterType="com.huaxun.springboot.entity.User" >
            UPDATE
            users
            SET
            <if test="userName != null">userName = #{userName},</if>
            <if test="passWord != null">passWord = #{passWord},</if>
            nick_name = #{nickName}
            WHERE
            id = #{id}
        </update>
    
        <delete id="delete" parameterType="java.lang.Long" >
            DELETE FROM
            users
            WHERE
            id =#{id}
        </delete>
    </mapper>
    

    6、在java代码目录里面新建mapper包,并创建UserMapper接口

    public interface UserMapper {
        List getAll();
    
        User getOne(Long id);
    
        void insert(User user);
    
        void update(User user);
    
        void delete(Long id);
    }
    

    7、在webapp目录下新建index.jsp文件

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="/user/save" method="post">
        <table border="1">
            <tr>
                <td>姓名</td>
                <td><input type="text" name="userName"/></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="text" name="passWord"/></td>
            </tr>
            <tr align="center">
                <td colspan="2"><input type="submit" value="提交"/></td>
            </tr>
        </table>
    </form>
    </body>
    </html>
    

    8、在webapp目录下的WEB-INF目录下新建jsp文件夹,并新建success.jsp文件

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    插入成功<br/>
    ${sessionScope.userName}<br/>
    ${requestScope.passWord}
    </body>
    </html>
    

    9、运行启动SpringBoot的main方法,注意,需要加@MapperScan全局扫描,需和application.properties配置的mybatis.type-aliases-package一致

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

    10、浏览器打开localhost:8080/index.jsp

    [图片上传失败...(image-9c6f1f-1539154545156)]

    11、填入数据,点击提交后成功跳转页面

    [图片上传失败...(image-457d77-1539154545155)]

    12、数据库多一条数据记录

    相关文章

      网友评论

          本文标题:SpringBoot整合mybatis——xml版

          本文链接:https://www.haomeiwen.com/subject/jjipaftx.html