SpringBoot-JDBC示例

JDBC连接数据库简单示例

准备数据

DROP TABLE IF EXISTS user;
CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	sex VARCHAR(4) NULL DEFAULT NULL COMMENT '性别',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	Remark VARCHAR(50) NULL DEFAULT NULL COMMENT '说明',
	PRIMARY KEY (id)
);
新建一个普通spring-boot项目

https://start.spring.io 或直接使用IDEA创建(如何快速创建SpringBoot项目?戳这里

application.properties配置 (test_jf_db:数据库名称;serverTimezone=UTC:设置时区)
<!-- 连接字符串 --> 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test_jf_db?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5
启动类
package org.jianfeng.jfspringboot_jdbc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JfspringbootJdbcApplication {
	public static void main(String[] args) {
		SpringApplication.run(JfspringbootJdbcApplication.class, args);
	}
}
实体类(Entity) IDEA:alt+insert快捷生成Getter()、Setter()、toString()方法
package org.jianfeng.jfspringboot_jdbc.Entity;

public class User {
    private Integer Id;
    private String Name;
    private String Sex;
    private String Age;
    private String Email;
    private String Remark;

    public Integer getId() {
        return Id;
    }

    public void setId(Integer id) {
        Id = id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getSex() {
        return Sex;
    }

    public void setSex(String sex) {
        Sex = sex;
    }

    public String getAge() {
        return Age;
    }

    public void setAge(String age) {
        Age = age;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        this.Email = email;
    }
    
    public String getRemark() {
        return Remark;
    }

    public void setRemark(String remark) {
        Remark = remark;
    }

    @Override
    public String toString() {
        return "User{" +
                "Id=" + Id +
                ", Name='" + Name + '\'' +
                ", Sex='" + Sex + '\'' +
                ", Age='" + Age + '\'' +
                ", Email='" + Email + '\'' +
                ", Remark='" + Remark + '\'' +
                '}';
    }
}

控制器(Controller)
package org.jianfeng.jfspringboot_jdbc.controller;

import org.jianfeng.jfspringboot_jdbc.Entity.User;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

@RestController
@RequestMapping("/jdbc")
public class jdbcConteroller {
    @Resource
    private JdbcTemplate jdbcTemplate;
    @RequestMapping("/userlist")
    public List<User> getUserList(ModelMap map) {
        String sql = "SELECT * FROM user";
        List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
            User user = null;
            @Override
            public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                user = new User();
                user.setId(rs.getInt("Id"));
                user.setName(rs.getString("Name"));
                user.setSex(rs.getString("Sex"));
                user.setAge(rs.getString("Age"));
                user.setEmail(rs.getString("Email"));
                user.setRemark(rs.getString("Remark"));
                return user;
            }
        });
        /*for (User user : userList) {
            System.out.println(user.getName());
        }*/
        map.addAttribute("users", userList);

        return userList;
    }
}

启动项目访问:http://localhost:8080/jdbc/userlist 即可以显示查寻结果

您好!关于Spring Boot、MyBatis Plus和Sharding-JDBC的集成问题,我可以提供一些基本指导。首先,确保您已经在Spring Boot项目中成功集成了MyBatis Plus和Sharding-JDBC的依赖。 在pom.xml文件中添加MyBatis Plus和Sharding-JDBC的依赖: ```xml <!-- MyBatis Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- Sharding-JDBC --> <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>${sharding-jdbc.version}</version> </dependency> ``` 接下来,您需要配置Sharding-JDBC。在application.yml(或application.properties)文件中添加相应的配置信息。以下是一个示例: ```yaml spring: shardingsphere: datasource: names: ds0, ds1 # 数据源名称 ds0: url: jdbc:mysql://localhost:3306/db0?serverTimezone=UTC username: root password: root driver-class-name: com.mysql.jdbc.Driver ds1: url: jdbc:mysql://localhost:3306/db1?serverTimezone=UTC username: root password: root driver-class-name: com.mysql.jdbc.Driver sharding: tables: user: actualDataNodes: ds$->{0..1}.user tableStrategy: inline: shardingColumn: id algorithmExpression: user$->{id % 2} keyGenerator: type: SNOWFLAKE ``` 这是一个简单的配置示例,其中包含了两个数据源(ds0和ds1),以及一个名为user的分片表的配置。您可以根据您的实际需求进行调整。 最后,您可以在MyBatis Plus的Mapper接口中使用Sharding-JDBC提供的分片功能。例如: ```java @Mapper public interface UserMapper extends BaseMapper<User> { // 自定义SQL查询方法 List<User> selectUserById(@Param("id") Long id); } ``` 这只是一个简单的示例,您可以根据自己的业务需求进行扩展和定制。 希望这些信息对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值