Spring Boot系列之jdbc

2025-10-16 14:36:09

1、添加依赖

新建项目后,在pom.xml中新增以下依赖

<dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

<dependency>

  <groupId>mysql</groupId>

  <artifactId>mysql-connector-java</artifactId>

</dependency>

Spring Boot系列之jdbc

2、新建表和mysql数据库配置

建表语句如下

CREATE TABLE T_USER (

    ID BIGINT(20) NOT NULL,

    USER_NAME VARCHAR (20),

    USER_PASS VARCHAR (50),

    PRIMARY KEY (ID)

);

在application.properties文件下配置mysql数据库连接

spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useUnicode=true

spring.datasource.username=mysql

spring.datasource.password=mysql

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Spring Boot系列之jdbc

3、创建实体类

定义实体类UserInfo,使用@Entity标识,并声明@Id属性。

@Entity

public class UserInfo implements Serializable{

   @Id

   private Long id;

   private String userName;

   private String passWord;

   /**省略get set 方法*/

}

Spring Boot系列之jdbc

4、创建Dao

使用jdbcTemplate实现数据库操作

@Repository

public class UserDao {

   @Autowired

   private JdbcTemplate jdbcTemplate;

   public List<User> getUserByName(String userName) {

       String sql = "SELECT ID, USER_NAME userName, USER_PASS passWord FROM T_USER WHERE USER_NAME= ?";

       return jdbcTemplate.query(sql,new Object[]{userName},new BeanPropertyRowMapper(User.class));

   }

   public int addUserInfo(UserInfo user) {

       String sql = "INSERT INTO T_USER(ID,USER_NAME,USER_PASS) VALUES (?,?,?)";

       return jdbcTemplate.update(sql,user.getId(),user.getUserName(),user.getPassWord());

   }

}

Spring Boot系列之jdbc

5、创建Service类

定义新增,查询数据方法

@Service

public class UserService {

   @Autowired

   private UserDao userDao;

   public List<User> getUser(String userName) {

       return userDao.getUserByName(userName);

   }

   public int addUserInfo(UserInfo user) {

       return userDao.addUserInfo(user);

   }

}

Spring Boot系列之jdbc

6、测试类

测试UserService中的新增、查询方法

@RunWith(SpringRunner.class)

@SpringBootApplication

public class MyJdbcTest {

   @Autowired

   private UserService userService;

   @Test

   public void test() {

       UserInfo user = new UserInfo();

       user.setId(10000l);

       user.setUserName("user");

       user.setPassWord("pwd");

       int addCount = userService.addUserInfo(user);

       System.out.println("add user count=" + addCount);

       List<User> userList = userService.getUser("user");

       if(!CollectionUtils.isEmpty(userList)) {

           userList.forEach(userInfo ->

                   System.out.println("user.id="+userInfo.getId()

                           +",user.name="+userInfo.getUserName()

                           +",user.password="+userInfo.getPassWord()));

       } else {

           System.out.println("未查询到此用户");

       }

   }

}

Spring Boot系列之jdbc

7、测试结果

执行该测试方法,输出结果为:

add user count=1

user.id=10000,user.name=user,user.password=pwd

Spring Boot系列之jdbc

8、数据库结果

测试userService.addUser方法后,新增一条数据至数据库中。

SELECT * FROM T_USER;

Spring Boot系列之jdbc

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:192
  • 阅读量:86
  • 阅读量:196
  • 阅读量:97
  • 阅读量:132
  • 猜你喜欢