Spring Boot JdbcTemplate

引入依赖:

<!--如果已经引入了jpa,则不需要引用jdbc,即下面的依赖-->
     <!-- <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-jdbc</artifactId>
      </dependency>-->

      <!--添加spring-data-jpa依赖-->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>

 

dao:

package com.huawei.dao;

import com.huawei.bean.Cat;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;

@Repository
public class CatDao
{
    @Resource
    private JdbcTemplate jdbcTemplate;

    public Cat selectByCatName(String catName) {
        RowMapper<Cat> rowMapper = new BeanPropertyRowMapper<>(Cat.class);
        String sql = "select * from cat where cat_name=?";
        return jdbcTemplate.queryForObject(sql, new Object[]{catName}, rowMapper);
    }
}

service:

public Cat selectByCatName(String catName) {
    System.out.println("catName:"+catName);
    return catDao.selectByCatName(catName);
}

controller:

@RequestMapping("/selectByCatName")
public Cat selectByCatName(String catName){
    return catService.selectByCatName(catName);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Spring Boot应用程序,使用JDBCTemplate获取数据库连接,进行增删改查操作,并将结果显示在网页上。 首先,我们需要在pom.xml文件中添加以下依赖项: ```xml <dependencies> <!-- Spring Boot Starter JDBC --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 接下来,我们需要在application.properties文件中配置数据库连接信息: ```properties # 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/testdb spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # JDBCTemplate配置 spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.hikari.maximum-pool-size=5 spring.datasource.hikari.minimum-idle=2 spring.datasource.hikari.idle-timeout=60000 ``` 然后,我们可以创建一个User实体类,用于表示数据库中的用户表: ```java public class User { private Long id; private String name; private Integer age; // getters and setters } ``` 接下来,我们需要创建一个UserDao类,用于操作数据库: ```java @Repository public class UserDao { @Autowired private JdbcTemplate jdbcTemplate; public void save(User user) { String sql = "insert into user(name, age) values(?, ?)"; jdbcTemplate.update(sql, user.getName(), user.getAge()); } public void update(User user) { String sql = "update user set name=?, age=? where id=?"; jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId()); } public void delete(Long id) { String sql = "delete from user where id=?"; jdbcTemplate.update(sql, id); } public User findById(Long id) { String sql = "select * from user where id=?"; return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class)); } public List<User> findAll() { String sql = "select * from user"; return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class)); } } ``` 最后,我们可以创建一个UserController类,用于处理HTTP请求并将结果显示在网页上: ```java @Controller public class UserController { @Autowired private UserDao userDao; @GetMapping("/") public String index(Model model) { List<User> userList = userDao.findAll(); model.addAttribute("userList", userList); return "index"; } @GetMapping("/add") public String add() { return "add"; } @PostMapping("/save") public String save(User user) { userDao.save(user); return "redirect:/"; } @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Long id, Model model) { User user = userDao.findById(id); model.addAttribute("user", user); return "edit"; } @PostMapping("/update") public String update(User user) { userDao.update(user); return "redirect:/"; } @GetMapping("/delete/{id}") public String delete(@PathVariable("id") Long id) { userDao.delete(id); return "redirect:/"; } } ``` 在上面的代码中,我们定义了五个方法来处理HTTP请求: - index方法用于显示所有用户信息; - add方法用于显示添加用户表单; - save方法用于保存用户信息; - edit方法用于显示编辑用户表单; - update方法用于更新用户信息; - delete方法用于删除用户信息。 最后,我们需要创建三个HTML模板文件,分别是index.html、add.html和edit.html,用于显示网页内容: index.html: ```html <!DOCTYPE html> <html> <head> <title>用户列表</title> </head> <body> <h1>用户列表</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>Action</th> </tr> <tr th:each="user : ${userList}"> <td th:text="${user.id}"></td> <td th:text="${user.name}"></td> <td th:text="${user.age}"></td> <td> <a th:href="@{/edit/__${user.id}__}">编辑</a> <a th:href="@{/delete/__${user.id}__}">删除</a> </td> </tr> </table> <p><a href="/add">添加用户</a></p> </body> </html> ``` add.html: ```html <!DOCTYPE html> <html> <head> <title>添加用户</title> </head> <body> <h1>添加用户</h1> <form method="post" action="/save"> <p><label>Name: <input type="text" name="name"/></label></p> <p><label>Age: <input type="text" name="age"/></label></p> <p><input type="submit" value="Save"/></p> </form> <p><a href="/">返回</a></p> </body> </html> ``` edit.html: ```html <!DOCTYPE html> <html> <head> <title>编辑用户</title> </head> <body> <h1>编辑用户</h1> <form method="post" action="/update"> <input type="hidden" name="id" th:value="${user.id}"/> <p><label>Name: <input type="text" name="name" th:value="${user.name}"/></label></p> <p><label>Age: <input type="text" name="age" th:value="${user.age}"/></label></p> <p><input type="submit" value="Update"/></p> </form> <p><a href="/">返回</a></p> </body> </html> ``` 现在,我们可以运行应用程序,访问http://localhost:8080/,即可看到所有用户信息。我们还可以点击“添加用户”按钮来添加新用户,或者点击“编辑”按钮来更新用户信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值