• Spring boot 整合 Mybatis 实现增删改查(MyEclipse版)


    1、首先搭建好一个Spring boot 程序,编写好启动类。

    启动类代码如下:

    @SpringBootApplication
    public class Start {
    	public static void main(String[] args) {
    		SpringApplication.run(Start.class, "--server.port=9999");//后面是直接设置端口号
    	}
    }
    

    2、要整合mybatis需要引进依赖,顺便把热部署依赖也加上去,代码如下

    <parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.5.6.RELEASE</version>
    		<relativePath />
    	</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>
    	</dependencies>
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    				<!-- 热部署 -->
    				<configuration>
    					<fork>true</fork>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    

      3、依赖包下载完之后,添加配置文件application.properties内容如下:

    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    spring.datasource.url = jdbc:mysql://localhost:3306/cpt?useUnicode=true&characterEncoding=utf-8
    spring.datasource.username = root
    spring.datasource.password =root
    

      把它直接放到src/main/resources这个目录下就可以了。

    4、加点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、接下来就可以写实例,代码如下;

    UserEntity.java

    package root.entity;
    
    import java.io.Serializable;
    
    import root.enums.UserSexEnum;
    
    public class UserEntity implements Serializable {
    
    	private static final long serialVersionUID = 1L;
    	private Long id;
    	private String userName;
    	private String passWord;
    	private UserSexEnum userSex;
    	private String nickName;
    
    	public UserEntity() {
    		super();
    	}
    
    	public UserEntity(String userName, String passWord, UserSexEnum userSex) {
    		super();
    		this.passWord = passWord;
    		this.userName = userName;
    		this.userSex = userSex;
    	}
    
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long 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 UserSexEnum getUserSex() {
    		return userSex;
    	}
    
    	public void setUserSex(UserSexEnum userSex) {
    		this.userSex = userSex;
    	}
    
    	public String getNickName() {
    		return nickName;
    	}
    
    	public void setNickName(String nickName) {
    		this.nickName = nickName;
    	}
    
    	@Override
    	public String toString() {
    		// TODO Auto-generated method stub
    		return "userName " + this.userName + ", pasword " + this.passWord + "sex " + userSex.name();
    	}
    
    }
    

      UserMapper.java

    package root.mapper;
    
    import java.util.List;
    
    import root.entity.UserEntity;
    
    public interface UserMapper {
    	
    	List<UserEntity> getAll();
    	
    	UserEntity getOne(Long id);
    
    	void insert(UserEntity user);
    
    	void update(UserEntity user);
    
    	void delete(Long id);
    
    }
    

      他对应的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="root.mapper.UserMapper" >
        <resultMap id="BaseResultMap" type="root.entity.UserEntity" >
            <id column="id" property="id" jdbcType="BIGINT" />
            <result column="userName" property="userName" jdbcType="VARCHAR" />
            <result column="passWord" property="passWord" jdbcType="VARCHAR" />
            <result column="user_sex" property="userSex" javaType="root.enums.UserSexEnum"/>
            <result column="nick_name" property="nickName" jdbcType="VARCHAR" />
        </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="root.entity.UserEntity" >
           INSERT INTO 
           		users
           		(userName,passWord,user_sex) 
           	VALUES
           		(#{userName}, #{passWord}, #{userSex})
        </insert>
        
        <update id="update" parameterType="root.entity.UserEntity" >
           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>
    

      UserSexEnum.java

    public enum UserSexEnum {
    	MAN, WOMAN
    }
    

      UserController.java

    package root.controller;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import root.entity.UserEntity;
    import root.mapper.UserMapper;
    
    @RestController
    public class UserController {
    	
    	@Autowired
    	private UserMapper userMapper;
    	
    	@RequestMapping("/getUsers")
    	public List<UserEntity> getUsers() {
    		List<UserEntity> users=userMapper.getAll();
    		return users;
    	}
    	
        @RequestMapping("/getUser")
        public UserEntity getUser(Long id) {
        	UserEntity user=userMapper.getOne(id);
            return user;
        }
        
        @RequestMapping("/add")
        public void save(UserEntity user) {
        	userMapper.insert(user);
        }
        
        @RequestMapping(value="update")
        public void update(UserEntity user) {
        	userMapper.update(user);
        }
        
        @RequestMapping(value="/delete/{id}")
        public void delete(@PathVariable("id") Long id) {
        	userMapper.delete(id);
        }
        
        
    }
    

    6、最后在启动类里面加上@MapperScan("root.mapper")扫描进来

    7、我的工程目录结构如下:

    到这里一个简单的spring boot整合mybatis访问数据库实现增删改就好了

  • 相关阅读:
    ege demo
    Easy Graphics Engine vs2015使用
    c++ demo
    leetcode 13 -> Roman to Integer
    leetcode 12 -> Integer to Roman
    12. Integer to Roman
    leetcode 9 -> Palindrome Number
    8. String to Integer (atoi)
    获取字符串中长度最长的回文字符串
    leetcode 5-> Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/caopt/p/8488438.html
Copyright © 2020-2023  润新知