Mybatis-plus连接操作SQLServer数据库(基于Maven项目)

本文介绍如何使用Spring Initializr或Maven搭建项目,并通过MyBatis-Plus实现对SQLServer数据库的基本CRUD操作,包括实体类定义、Mapper接口编写、控制器层测试等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1新建项目

选择Spring Initializr或者maven项目都可以
在这里插入图片描述
初始化好的项目
在这里插入图片描述

1.2 引pom

完全可以和java项目中引入依赖画等号
引入SQLServer的驱动包 还有我们要来操作数据库的Mybatis -plus

 <!--lombok用来简化实体类:需要安装lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--for SqlServer-->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

1.3 改yml

spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://localhost:1433;databaseName=demo01
    username: sa
    password: 123456rw

1.4新建实体类绑定表

新建User表和数据库中表帮绑定

@Data
@TableName("user1")
public class User {


    private Integer id;

    private String name;

}

1.5 建Mapper接口

@Repository
public interface UserMapper extends BaseMapper<User> {

}

1.6让启动时扫描dao层mapper接口

@SpringBootApplication
@MapperScan("com.rw.Mapper")
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

1.7写接口去测试

@Controller
public class TestController {
    @Autowired
    private UserMapper userMapper;
    @RequestMapping("getAllUser")
    @ResponseBody//把返回值打印到页面(JSON)
    public List<User> getAlluser(){
        //queryWrapper 查询条件 如果过传递 null 就是查询所有数据
        //先创建一个条件对象
        QueryWrapper<User> queryWrapper=new QueryWrapper<>();
        //添加条件
        //eq 是等于 查询id==1 的数据
        //queryWrapper.eq("id","2");
        /**
         * ne 是不等于
         */
       //queryWrapper.ge("id","5");
        //queryWrapper.between("id",2,5);
        //queryWrapper.like("name","小");
        queryWrapper.orderByDesc("id");
        return userMapper.selectList(queryWrapper);
    }

    @ResponseBody
    @RequestMapping("/add")
    public String add(){
        User user=new User();
        user.setId(11);
        user.setName("小王");
        int insert = userMapper.insert(user);
        if (insert>0){
            return "添加成功!";
        }else {
            return "添加失败!";
        }
    }
    @RequestMapping("/update")
    @ResponseBody
    public String update(){
        //1.查询要修改的内容
        User user = userMapper.selectById("3");
        System.out.println(user);
        //2.修改
        user.setName("New Hello");
        //userMapper.updateById() 根据你user的id进行修改
        int i = userMapper.update(user,new QueryWrapper<User>().eq("id","3"));
        if (i>0){
            System.out.println("修改成功!");
            return "修改成功!";
        }else {
            System.out.println("修改失败!");
            return "修改失败";
        }
    }
    @RequestMapping("/delete")
    @ResponseBody
    public String delete(){
        //创建一个条件对象
        QueryWrapper<User> wrapper=new QueryWrapper();
        //添加条件
        /**
         * 删除的是 name=New Hello 这条数据
         */
        wrapper.eq("name","New Hello");
        int delete = userMapper.delete(wrapper);
        if (delete>0){
            return "删除成功!";
        }else {
            return "删除失败!";
        }
    }
}

MyBatis-Plus中,如果你想要调用SQL Server的存储过程,你需要先配置数据库连接,并在Mapper XML文件或注解映射中声明如何调用这个存储过程。以下是基本步骤: 1. **添加依赖**: 如果你还没有,需要在项目的pom.xml或build.gradle文件中添加对SQL Server JDBC驱动的支持。 ```xml <!-- Maven --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>8.4.x</version> <!-- 更新到最新的支持版本 --> </dependency> <!-- Gradle (如果使用Spring Boot) --> implementation 'com.microsoft.sqlserver:mssql-jdbc' ``` 2. **配置数据源**: 在Spring Boot应用中,可以在application.properties或application.yml中设置数据源,指向SQL Server。 ```properties spring.datasource.url=jdbc:jtds:sqlserver://localhost:1433;databaseName=myDatabase spring.datasource.username=myUser spring.datasource.password=myPassword ``` 3. **创建Mapper接口**: 创建一个Mapper接口,然后使用`@SelectProvider`注解指定存储过程的调用,传递参数给存储过程。 ```java import org.apache.ibatis.annotations.Select; import org.apache.ibatis.session.RowBounds; import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface MyProcedureMapper extends BaseMapper { @SelectProvider(type = MyProcedureSqlProvider.class, method = "selectByProcedure") List<Map<String, Object>> selectByProcedure(@Param("param1") String param1, @Param("param2") int param2); } ``` 4. **提供SQL动态生成服务**: ```java public class MyProcedureSqlProvider { public String selectByProcedure(Object[] params) { StringBuilder sqlBuilder = new StringBuilder(); sqlBuilder.append("EXECEDURE_NAME "); // 将参数拼接到SQL中,注意SQL Server语法 sqlBuilder.append("(").append(params[0]).append(", ").append(params[1]).append(")"); return sqlBuilder.toString(); } } ``` 5. **启用MyBatis-Plus的动态SQL支持**: 配置MyBatis Plus全局的SqlSessionFactory时,启用动态SQL功能。 ```java @MapperScan("com.example.demo.mapper") @GlobalConfig( dbType = GlobalConfig.DB_TYPE_SQLSERVER, dynamicLang = true // 这里开启动态SQL支持 ) public abstract class GlobalConfig {} ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值