idea 搭建Spring Boot +Mybatis

环境准备

idea 15
jDK
tomcat
maven

搭建方式

  • 官网下载源码包解压缩
  • 使用idea中的Spring initializr创建

    这两种方法创建的项目完全相同,只是操作方式不一样

这里介绍第二种方法,用idea创建

①在idea中,选择File>new Project出现如下界面

②填写GVN(GroupId,ArtifactctId,Version)(Maven坐标,是用来唯一标识jar包),选择版本

③选择依赖,如下图,勾选Web,Mybatis,MySQL

④填写项目名称,选择项目目录

⑤稍等一会,即可看到项目已下载下来

这里其实项目已经准备好了,但使用还需配置一些参数,下面我们通过一个demo尝试使用它

其它配置

①配置端口号,数据库连接,mybatis等

这些配置我们都集成在一个文件中,我们在项目的src/main/resouces目录下可以找到application.proteries文件,删除该文件,用application.yml配置,这种方式更简洁方便,文件内容如下

server:
    # 访问端口号
    port: 8080

spring:
    datasource:
        url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
        username: root
        password: password
         # 使用阿里巴巴的开源框架druid数据库连接池
        type: com.alibaba.druid.pool.DruidDataSource
        platform: mysql
        # mysql 8.0.+使用的驱动
        driver-class-name: com.mysql.cj.jdbc.Driver
        
        filters: stat
        maxActive: 20
        initialSize: 1
        maxWait: 60000
        minIdle: 1
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: select 'x'
        testWhileIdle: true
         testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxOpenPreparedStatements: 20

mybatis:
    # mapper映射文件地址,这里我在src/main/resouces下新建文件夹mapper
     mapper-locations: classpath*:mapper/*.xml
    # 配置bean扫描目录,也可用注解
    type-aliases-package: classpath*:com.example.demo.entity

② 配置pom文件

pom文件中描述了maven管理的包等,上面我们用到了Druid作为数据库连接池,所以我们需要在pom.xml中的<dependencies>...</dependencies>中添加如下代码

<!-- alibaba的druid数据库连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.0</version>
</dependency>
    

这样jar包就引进来了

编写程序

① 在数据库新建一张表user,属性如下(自己填写数据)

② User.java

src/main/java/com.example.demo/entity/User.java

目录需自己创建,下面步骤同理

public class User {

    private Integer id;
    private String name;
    private String sex;
    private Integer age ;
    
    // set** and get** 方法省略,自己写
    
}

③ UserMapper.java

src/main/java/com.example.demo/mapper/UserMapper.java


@Mapper         //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
@Repository
public interface UserMapper {
    List<User> getAllUser();
}

④ UserMapper.xml

src/main/resouces/mapper/UserMaper.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.example.demo.mapper.UserMapper">
    <select id="getAllUser" resultType="com.example.demo.entity.User">
        SELECT * FROM user
    </select>
</mapper>

⑤ UserService.java

src/main/java/com.example.demo/service/UserService.java

public interface UserService {
    List<User> getAllUser();
}

⑥ UserServiceImpl.java

src/main/java/com.example.demo/service/impl/UserServiceImpl.java

@Service(value = "userService")
public class UserServiceImpl implements UserService {

    @Resource
    private UserMapper userMapper;


    @Override
    public List<User> getAllUser() {
        return userMapper.getAllUser();
    }
}

⑦ UserController.java

src/main/java/com.example.demo/controller/UserController.java

@Controller
@RequestMapping(value = "/user")
public class UserController {

    @Autowired
    private UserService userService;


    @RequestMapping("/getAllUser")
    @ResponseBody
    private List<User> getAllUser() {
        List<User> users =  userService.getAllUser();

        return users;

    }

}

⑧ DemoApplication.java

src/main/java/com.example.demo/DemoApplication.java

注意该文件已存在,替换或修改

@SpringBootApplication
@EnableTransactionManagement   //开启事务管理
@ComponentScan("com.example.demo")
//@MapperScan("com.example.demo.mapper")//与dao层的@Mapper二选一写上即可(主要作用是扫包)
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(DemoApplication.class, args);
    }


    @Bean(destroyMethod = "close", initMethod = "init")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DruidDataSource druidDataSource() {
        DruidDataSource druidDataSource = new DruidDataSource();
        return  druidDataSource;
    }

}

这里是目录结构图

测试

1.运行DemoApplication.java,出现如下界面则成功

2.在浏览器输入127.0.0.1:8080/user/getAllUser

成功!

猜你喜欢

转载自www.cnblogs.com/lifan1998/p/10176833.html