溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring boot + mybaits 操作數(shù)據(jù)庫

發(fā)布時間:2020-07-30 09:58:14 來源:網(wǎng)絡(luò) 閱讀:748 作者:北極冷冷冷 欄目:編程語言

spring boot 訪問 mysql
方式三:spring boot + mybaits

pom 文件引入 依賴

<!-- mybatis -->
<dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.0.1</version>
</dependency>

<!-- mysql驅(qū)動 -->
<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
</dependency>

配置mybaits

mybatis

# 對應(yīng)實體類的包名
mybatis.typeAliasesPackage=com.example.demo.model
# mapper.xml文件所在位置
mybatis.mapperLocations=classpath:**/mapper/*.xml

加入 entity mapper service controller 文件
entity

public class User {

        @Id
        @GeneratedValue(strategy= GenerationType.IDENTITY)
        private Long id;

        private String name;

        private int age;

        private String sex;

        public Long getId() {
                return id;
        }

        public void setId(Long id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        public String getSex() {
                return sex;
        }

        public void setSex(String sex) {
                this.sex = sex;
        }
}

mapper

@Mapper
public interface UserMapper  {

        User findUserById(Long id);

        int add(User user);

        int update(User user);
}

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.dao.mybatis.UserMapper">

        <resultMap id = "BaseResult" type = "com.example.demo.model.User">
                <result property = "id" column = "id"/>
                <result property = "name" column = "name"/>
        </resultMap>
        <select id = "findUserById" resultMap = "BaseResult">
                SELECT * FROM user where id = #{id}
        </select>

        <insert id="add" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
        insert  into user (name,age,sex) values (#{name},#{age},#{sex})
        </insert>

        <update id = "update" parameterType="com.example.demo.model.User">
                update user set name = #{name} ,age = #{age} ,sex = #{sex} where id = ${id}
        </update>
</mapper>

service

@Service
public class MybatisUserService {

        @Autowired
        UserMapper userDao;

        public int add(User user){
            return   userDao.add(user);
        }

        public int update(User user){
                return   userDao.update(user);
        }

        public User getById(long id){
                return   userDao.findUserById(id);
        }
}

controller

@RestController
@RequestMapping("/mybatisUser")
public class MybatisUserController {

        @Autowired
        MybatisUserService userService;

        @RequestMapping(value = "/add",method = RequestMethod.POST)
        public Object addUser(@RequestBody User user){

                return userService.add(user);
        }

        @RequestMapping(value = "/update",method = RequestMethod.PUT)
        public Object updateUser(@RequestBody User user){

                return userService.update(user);
        }

        @RequestMapping(value = "/find",method = RequestMethod.GET)
        public Object updateUser(long id){
                return userService.getById(id);
        }

}

主類上加掃描 mapper 路徑

@SpringBootApplication
@MapperScan("com.example.demo.dao.mybatis")
public class DemoApplication {

        public static void main(String[] args) {
                SpringApplication.run(DemoApplication.class, args);
        }

}

啟動項目 測試

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI