zoukankan      html  css  js  c++  java
  • SpringBoot持久层技术

    一、Springboot整合mybatis

    maven中添加对数据库与mybatis的依赖

     1 <dependencies>
     2     <dependency>
     3         <groupId>org.springframework.boot</groupId>
     4         <artifactId>spring-boot-starter-web</artifactId>
     5     </dependency>
     6     <dependency>
     7         <groupId>org.mybatis.spring.boot</groupId>
     8         <artifactId>mybatis-spring-boot-starter</artifactId>
     9     </dependency>
    10     <dependency>
    11         <groupId>mysql</groupId>
    12         <artifactId>mysql-connector-java</artifactId>
    13     </dependency>
    14     <dependency>
    15         <groupId>com.alibaba</groupId>
    16         <artifactId>druid</artifactId>
    17     </dependency>
    18 </dependencies>

    添加application.properties关于mybatis的配置

    1 spring.datasource.driverClassName=com.mysql.jdbc.Driver
    2 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbName
    3 spring.datasource.username=root
    4 spring.datasource.password=root
    5 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    6 mybatis.type-aliases-package=io.guangsoft.pojo

    mapper的xml文件所在目录需要在springboot启动类中配置扫描

    1 @SpringBootApplication
    2 @MapperScan("io.guangsoft.mapper")

    数据库表设计

    1 create table users(
    2     id int(11) not null auto_increment,
    3     name varchar(25) default null,
    4     age int default null,
    5     primary key (id)
    6 )engine=InnoDB default charset=utf8;

    pojo

     1 public class User {
     2     private Integer id;
     3     private String name;
     4     private Integer age;
     5     public Integer getId() {
     6         return id;
     7     }
     8     public void setId(Integer id) {
     9         this.id = id;
    10     }
    11     public String getName() {
    12         return name;
    13     }
    14     public void setName(String name) {
    15         this.name = name;
    16     }
    17     public Integer getAge() {
    18         return age;
    19     }
    20     public void setAge(Integer age) {
    21         this.age = age;
    22     }
    23 }

    mapper

    1 public interface UserMapper {
    2     void insertUser(User user);
    3     List<User> selectUserAll();
    4 }
    1 <mapper namespace="io.guangsoft.mapper.UserMapper">
    2     <insert id="insertUser" parameterType="user">
    3         insert into user(name, age) values (#{name}, #{age})
    4     </insert>
    5     <select id="selectUserAll" resultType="user">
    6         select id, name, age from user
    7     </select>
    8 </mapper>

    service

     1 @Service
     2 @Transactional
     3 public class UserServiceImpl implements UserService {
     4     @Autowired
     5     private UserMapper userMapper;
     6     @Override
     7     public void addUser(User user) {
     8         this.userMapper.insertUser(user);
     9     }
    10 }

    controller

     1 @Controller
     2 @RequestMapping("/user")
     3 public class UserController {
     4     @Autowired
     5     private UserService userService;
     6     @RequestMapping("/{page}")
     7     public String showPage(String page) {
     8         return page;
     9     }
    10     @RequestMapping("/addUser")
    11     public String addUser(User user) {
    12         this.userService.addUser(user);
    13         return "ok";
    14     }
    15 }
  • 相关阅读:
    iOS开发 -------- AFNetworking使用中遇到的小问题
    iOS开发 -------- AFNetworking实现简单的断点下载
    规则引擎-BRMS在企业开发中的应用
    MySQL系列教程(四)
    MySQL系列教程(三)
    MySQL系列教程(二)
    MySQL系列教程(一)
    OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防
    【事务】<查询不到同一调用方法其它事务提交的更新>解决方案
    iOS控制反转(IoC)与依赖注入(DI)的实现
  • 原文地址:https://www.cnblogs.com/guanghe/p/10967100.html
Copyright © 2011-2022 走看看