业余springboot接入mybatis连接mysql

移动崽业余时间看看springboot 简单记录下 springboot配置mybatis连接mysql

ide :intellij idea

第一步  创建一个springboot项目 就不说了

第二步 检查下pom.xml 需要mysql-connector-java和mybatis-spring-boot-starter (创建springboot 勾选对应的就有了)

<project>
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </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>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

第三步 自己的工程包名里面创建四个文件夹

           包名.bean                 放实体类

           包名.controller          放controller         

           包名.Mapper             放Mapper dao接口

           包名.Service 

           resources资源里建一个文件夹

            mapping

像这样

 

第四步  本地数据库弄个表 放点数据  我的库名叫user 表名叫userinfo

         

 

第五步  配置mybatis

           application.properties 里面写

spring.profiles.active=dev

         吧配置文件指到application-dev.yml   (yml文件配置起来比较好看。。。 没有自己建一个就不说了)

         application-dev.yml里面写

#端口号
server:
  port: 8005        

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
  mapper-locations: classpath:mapping/*Mapper.xml
  type-aliases-package: 包名.bean

#showSql
logging:
  level:
    com:
      example:
        mapper: debug

         username和password都是自己的你要是找不到我也没办法  

driver-class-name有点方便啊8.0的mysql用com.mysql.jdbc.Driver也能用 就控制台会说要用com.mysql.cj.jdbc.Driver

mapper-locations: classpath:mapping/*Mapper.xml  是映射resources/mapping里的写有sql语句的xml文件 我后缀名都有Mapper要是怕错就直接写mapper-locations: classpath:mapping/*.xml 

type-aliases-package: 包名.bean   是指定实体类的路径要注意别写错了

 

 

第六步 根据自己数据库的表写bean文件 不说了 我的仅供参考

 

第七步  包名.Mapper 下建一个UserMapper的接口文件

@Mapper
@Repository
public interface UserMapper {

    User Sel(int id);
}

我就写了一个sel方法为了从id 查询一条数据

 

第八步 包名.Service 下建一个UserService的java文件

@Service
public class UserService {
    @Autowired
    UserMapper userMapper;
    public User Sel(int id){
        return userMapper.Sel(id);
    }
}

注入UserMapper 

 

第九步 resources/mapping 下建一个UserMapper.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">

    <resultMap id="BaseResultMap" type="com.example.demo.bean.User">
        <result column="id" jdbcType="INTEGER" property="id" />
        <result column="age" jdbcType="INTEGER" property="age" />
        <result column="name" jdbcType="VARCHAR" property="name" />
    </resultMap>

    <select id="Sel" resultType="com.example.demo.bean.User">
        select * from userinfo where id = #{id}
    </select>

</mapper>

mapper namespace="com.example.demo.Mapper.UserMapper是对应的包名.Mapper的接口文件

<select id="Sel" 就是接口里面定义的方法  注意不要写出两个id一样的sql

type="com.example.demo.bean.User"和resultType="com.example.demo.bean.User"要注意返回值类型

 

第十步 Controller下建一个UserController的java文件写个helloworld

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("getUser/{id}")
    public String GetUser(@PathVariable int id) {
        return userService.Sel(id).toString();
    }
}

简单搞一个通过id输出实体类

然后就能跑了呗 。。  操作不当会出现映射不上 注入失败等原因 自己慢慢找吧。。反正我跑起来了

 

再附一个项目结构

csdn现在都变成我这种菜鸡发水文的地方了。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值