zoukankan      html  css  js  c++  java
  • MyBatis

    简单示例

    表结构及数据

    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for t_librarian
    -- ----------------------------
    DROP TABLE IF EXISTS `t_librarian`;
    CREATE TABLE `t_librarian` (
      `id` int(11) DEFAULT NULL,
      `user_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      `position` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    -- ----------------------------
    -- Records of t_librarian
    -- ----------------------------
    INSERT INTO `t_librarian` VALUES ('11', 'aa', '123123', '10', '北京');
    

    依赖和配置文件

    • pom.xml
    <dependency>
       <groupId>org.springframework.boot</groupId>  
       <artifactId>spring-boot-starter-web</artifactId>  
    </dependency>
    <dependency>
       <groupId>mysql</groupId>  
       <artifactId>mysql-connector-java</artifactId>  
    </dependency>
    <dependency>
       <groupId>org.mybatis.spring.boot</groupId>  
       <artifactId>mybatis-spring-boot-starter</artifactId>  
       <version>1.3.0</version>  
    </dependency>
    
    • application.yml
    # Server
    server:
      port: 8000
    
    spring:
      # DB
      datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/mybatis
        username: root
        password: 123456
    
    # mybatis
    mybatis:
      type-aliases-package: com.kunlinr.mybatis.entity
      mapperLocations: classpath:mappers/*.xml
    

    实体

    • Librarian
    package com.kunlinr.mybatis.entity;
    
    public class Librarian {
    	
    	private Integer id;
    	
    	private String userName;
    	
    	private String password;
    	
    	private Integer age;
    	
    	private String position;
    	
    	public Integer getid() {
    		return id;
    	}
    
    	public void setId(Integer 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 Integer getAge() {
    		return age;
    	}
    
    	public void setAge(Integer age) {
    		this.age = age;
    	}
    
    	public String getPosition() {
    		return position;
    	}
    
    	public void setPosition(String position) {
    		this.position = position;
    	}
    	
    }
    

    持久层

    • LibrarianMapper.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.kunlinr.mybatis.dao.LibrarianMapper">
        <resultMap type="Librarian" id="LibrarianMap">
            <result column="user_name" property="userName" jdbcType="VARCHAR" />
        </resultMap>
        <select id="getById" parameterType="INTEGER" resultMap="LibrarianMap">
            select *
            from t_librarian 
            where 1=1
                and id = #{id,jdbcType=INTEGER}
        </select>
         <select id="getAll" parameterType="INTEGER" resultMap="LibrarianMap">
            select *
            from t_librarian
        </select>
    </mapper>
    
    • LibrarianMapper
    package com.kunlinr.mybatis.dao;
    
    import java.util.List;
    
    import com.kunlinr.mybatis.entity.Librarian;
    
    public interface LibrarianMapper {
    	
    	Librarian getById(Integer id);
    	
    	List<Librarian> getAll();
    }
    

    服务层

    • LibrarianService
    package com.kunlinr.mybatis.service;
    
    import java.util.List;
    
    import com.kunlinr.mybatis.entity.Librarian;
    
    public interface LibrarianService {
    	
    	Librarian getById(Integer id);
    	
    	List<Librarian> getAll();
    	
    }
    
    • LibrarianServiceImpl
    package com.kunlinr.mybatis.service;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.kunlinr.mybatis.dao.LibrarianMapper;
    import com.kunlinr.mybatis.entity.Librarian;
    
    @Service
    public class LibrarianServiceImpl implements LibrarianService{
    	
    	@Autowired
        private LibrarianMapper librarianMapper;
    	
    	@Override
    	public Librarian getById(Integer id) {
    		return librarianMapper.getById(id);
    	}
    
    	@Override
    	public List<Librarian> getAll() {
    		return librarianMapper.getAll();
    	}
    	
    }
    

    控制层

    • LibrarianController
    package com.kunlinr.mybatis.controller;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.kunlinr.mybatis.entity.Librarian;
    import com.kunlinr.mybatis.service.LibrarianService;
    
    @RestController
    @RequestMapping("api/mybatis")
    public class LibrarianController {
    	
    	@Autowired
    	private LibrarianService librarianService;
    	
    	@RequestMapping("getLibrariaById")
    	public Librarian getLibrarianInfo(Integer id) {
    		return librarianService.getById(id);
    	}
    	
    	@RequestMapping("getAllLibraria")
    	public List<Librarian> getLibrarianInfos() {
    		return librarianService.getAll();
    	}
    	
    }
    
    

    启动类

    package com.kunlinr.mybatis;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @MapperScan("com.kunlinr.mybatis.dao") //该注解配置后不需要在Mapper类上增加注解@Mapper
    public class MybatisApplication {
    	
    	public static void main(String[] args) {
    		SpringApplication.run(MybatisApplication.class, args);
    	}
    	
    }
    
    剑指 Offer
  • 相关阅读:
    游标本次循环,跳过某些语句
    SQL 把结果集的某列连加成一行
    DotNetty 跨平台的网络通信库(转)
    Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍 (转)
    C# Winform应用程序占用内存较大解决方法整理(转)
    (转)vs2010 vs2013等vs中如何统计整个项目的代码行数
    如何将运维的报警做成运营的报警--Java后端架构
    阿里员工内部常用免费工具包 (转)
    ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)
    C#与MATLAB混合编程
  • 原文地址:https://www.cnblogs.com/kunlingou/p/11534673.html
Copyright © 2011-2022 走看看