• 新随笔


           springboot大家都知道了,搭建一个spring框架只需要秒秒钟。下面给大家介绍一下springboot与mybatis的完美融合:

           首先:创建一个名为springboot-mybatis的maven项目,记住:一定要maven哦,不懂maven的可以自己恶补一下maven知识,这里就不介绍maven了。

       下面给出pom.xml的完整配置:

           

    复制代码
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project xmlns="http://maven.apache.org/POM/4.0.0"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     5     <modelVersion>4.0.0</modelVersion>
     6 
     7     <groupId>springboot-mybatis</groupId>
     8     <artifactId>springboot-mybatis</artifactId>
     9     <version>1.0.0</version>
    10     <packaging>war</packaging>
    11 
    12     <name>springBoot-mybatis</name>
    13     <description>Spring Boot project</description>
    14 
    15     <parent>
    16         <groupId>org.springframework.boot</groupId>
    17         <artifactId>spring-boot-starter-parent</artifactId>
    18         <version>1.3.2.RELEASE</version>
    19         <relativePath/>
    20     </parent>
    21 
    22     <properties>
    23         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    24         <java.version>1.8</java.version>
    25     </properties>
    26 
    27     <dependencies>
    28 
    29         <dependency>
    30             <groupId>org.springframework.boot</groupId>
    31             <artifactId>spring-boot-starter</artifactId>
    32         </dependency>
    33 
    34         <dependency>
    35             <groupId>org.springframework.boot</groupId>
    36             <artifactId>spring-boot-starter-test</artifactId>
    37             <scope>test</scope>
    38         </dependency>
    39 
    40         <dependency>
    41             <groupId>org.mybatis.spring.boot</groupId>
    42             <artifactId>mybatis-spring-boot-starter</artifactId>
    43             <version>1.1.1</version>
    44         </dependency>
    45 
    46         <dependency>
    47             <groupId>org.springframework.boot</groupId>
    48             <artifactId>spring-boot-starter-web</artifactId>
    49         </dependency>
    50 
    51         <dependency>
    52             <groupId>mysql</groupId>
    53             <artifactId>mysql-connector-java</artifactId>
    54             <version>5.1.21</version>
    55         </dependency>
    56 
    57     </dependencies>
    58 
    59     <build>
    60         <plugins>
    61             <plugin>
    62                 <groupId>org.springframework.boot</groupId>
    63                 <artifactId>spring-boot-maven-plugin</artifactId>
    64             </plugin>
    65             <plugin>
    66                 <groupId>org.apache.maven.plugins</groupId>
    67                 <artifactId>maven-surefire-plugin</artifactId>
    68                 <configuration>
    69                     <skip>true</skip>
    70                 </configuration>
    71             </plugin>
    72         </plugins>
    73     </build>
    74 
    75 </project>
    复制代码

    之后创建一个启动类:

    复制代码
     1 package org.shenlan;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.SpringBootApplication;
     5 
     6 /**
     7  * Created by wangwei on 2016/9/2.
     8  */
     9 @SpringBootApplication
    10 public class Application {
    11     public static void main(String[] args){
    12         SpringApplication.run(Application.class,args);
    13     }
    14 }
    复制代码

    这样一个完整的springboot项目就完成了,是不是很简单。

    接下来就可以整理与mybatis的东东了。

    首先,创建配置文件:application.properties

    1 spring.datasource.url=jdbc:mysql://localhost:3306/test
    2 spring.datasource.username=root
    3 spring.datasource.password=root
    4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    5 
    6 server.port=1111

    这里server.port=1111是定义了改项目的端口,默认的是8080.

    然后,定义一个java的实体类:

    复制代码
     1 package org.shenlan.web;
     2 
     3 /**
     4  * Created by wangwei on 2016/9/2.
     5  */
     6 public class User {
     7     private Integer id;
     8     private String name;
     9     private Integer age;
    10 
    11     public Integer getId() {
    12         return id;
    13     }
    14 
    15     public void setId(Integer id) {
    16         this.id = id;
    17     }
    18 
    19     public String getName() {
    20         return name;
    21     }
    22 
    23     public void setName(String name) {
    24         this.name = name;
    25     }
    26 
    27     public Integer getAge() {
    28         return age;
    29     }
    30 
    31     public void setAge(Integer age) {
    32         this.age = age;
    33     }
    34 }
    复制代码

    这里实体类的字段要和数据库的字段对应起来,不然就要取别名了。

    之后,定义一个dao的接口:

    复制代码
     1 package org.shenlan.web;
     2 
     3 import org.apache.ibatis.annotations.Mapper;
     4 import org.apache.ibatis.annotations.Param;
     5 import org.apache.ibatis.annotations.Select;
     6 
     7 /**
     8  * Created by Administrator on 2016/9/2.
     9  */
    10 @Mapper
    11 public interface UserMapper {
    12 
    13     @Select("select * from user where name = #{name}")
    14     User findUserByName(@Param("name")String name);
    15 }
    复制代码

    @Mapper就是我们要与mybatis融合关键的一步,只要一个注解就搞定了。

    哈哈哈,最后我们就来写一个测试类吧:

    复制代码
     1 package org.shenlan.web;
     2 
     3 import org.springframework.beans.factory.annotation.Autowired;
     4 import org.springframework.web.bind.annotation.RequestMapping;
     5 import org.springframework.web.bind.annotation.ResponseBody;
     6 import org.springframework.web.bind.annotation.RestController;
     7 
     8 /**
     9  * Created by wangwei on 2016/9/2.
    10  */
    11 @RestController
    12 @RequestMapping({"/home"})
    13 public class UserController {
    14     @Autowired
    15     UserMapper userMapper;
    16 
    17     @RequestMapping(value = "/user")
    18     @ResponseBody
    19     public String user(){
    20         User user = userMapper.findUserByName("王伟");
    21         return user.getName()+"-----"+user.getAge();
    22     }
  • 相关阅读:
    回归cnblog
    第一篇博文
    apache 配置网站目录,虚拟目录,新端口
    linux 虚拟机设置IP访问外网
    Volist标签 key值的使用
    php header调试,yii2打log
    Yii2 框架下bootstrap 弹窗预览视频等~
    几个简单的css设置问题:div居中,ul li不换行 ,内容超出自动变省略号等
    鼠标右键弹窗(实现重命名等)的设计
    HTML5 Canvas绘图系列之一:圆弧等基础图形的实现
  • 原文地址:https://www.cnblogs.com/jinguanzhang/p/5833057.html
Copyright © 2020-2023  润新知