JdbcTemplate は、Spring が提供する JDBC テンプレート フレームワークのセットであり、AOP テクノロジを使用して、JDBC を直接使用する場合に大量のコードが繰り返される問題を解決します。 MyBatis ほど柔軟性はありませんが、JDBC を直接使用するよりもはるかに便利です。
1. テーブルを作成します
CREATE TABLE `t_demo` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(120) NOT NULL, `num` int(11) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='demo表';
##2. 依存関係と構成を追加します
1 . まず、pom.xml ファイルを編集し、関連する依存関係を追加します。
<!-- spring-jdbc --> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-jdbc</artifactid> </dependency> <!-- 数据库驱动依赖 --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> <!-- 数据库连接池 --> <dependency> <groupid>com.alibaba</groupid> <artifactid>druid</artifactid> <version>1.1.9</version> </dependency>
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource spring.datasource.url = jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8 spring.datasource.username = root spring.datasource.password = root spring.datasource.driver-class-name = com.mysql.jdbc.Driver
3. コードの書き込み
1. エンティティ クラスの書き込み@Data @Accessors(chain = true) public class Demo { private Integer id; private String name; private Integer num; private Date createTime; }
@Repository public class DemoDao { @Autowired private JdbcTemplate jdbcTemplate; // 新增数据 public int addDemo(Demo demo) { return jdbcTemplate.update("INSERT INTO t_demo(name, num) VALUE (?, ?)", demo.getName(), demo.getNum()); } // 修改数据 public int updateDemo(Demo demo) { return jdbcTemplate.update("UPDATE t_demo SET name=?, num=? WHERE id=?", demo.getName(), demo.getNum(), demo.getId()); } // 删除数据 public int deleteDemoById(Integer id) { return jdbcTemplate.update("DELETE FROM t_demo WHERE id=?", id); } // 获取单条数据 public Demo getDemoById(Integer id) { return jdbcTemplate.queryForObject("SELECT * FROM t_demo WHERE id=?", new BeanPropertyRowMapper(Demo.class), id); } // 获取多条数据 public List<demo> getAllDemos() { return jdbcTemplate.query("SELECT * FROM t_demo", new BeanPropertyRowMapper(Demo.class)); } }</demo>
@RestController @RequestMapping("/demo") public class DemoController { @Autowired private DemoDao demoDao; @RequestMapping("") public void test(){ // 新增数据 int num = demoDao.addDemo(new Demo().setName("piao").setNum(20)); System.out.println("插入一条数据:" + num); // 修改数据 int num2 = demoDao.updateDemo(new Demo().setId(15).setName("piao").setNum(22)); System.out.println("更新一条数据:" + num2); // 删除数据 int num3 = demoDao.deleteDemoById(13); System.out.println("删除一条数据:" + num3); // 查询单条数据 Demo demo = demoDao.getDemoById(15); System.out.println("查询1条数据:" + demo.toString()); // 查询多条数据 List<demo> demos = demoDao.getAllDemos(); System.out.println("查询多条数据:" + demos); } }</demo>
4. 検証結果
以上がSpringBoot が JdbcTemplate を使用してデータベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。