package org.example;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private int id;
private int age;
private String name;
}
4.SQL語句的書寫
@Repository:完成 PersonDao的自動注入
@Autowired:完成 JdbcTemplate 自動注入
通過調用jdbcTemplate.xxxx()方法來完成sql語句的書寫
SpringJDBC---資料庫的另一種連接配接方式
package org.example;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class PersonDao {
@Autowired
JdbcTemplate jdbcTemplate;
public void addUser(String name,int age){
jdbcTemplate.update("insert into person values(null,?,?)",age,name);
}
public void updateUser(String name,int age,int id){
jdbcTemplate.update("update person set name = ?,age=? where id = ?",name,age,id);
}
public void deleteUser(int id){
jdbcTemplate.update("delete from person where id = ? ",id);
}
public List<Person> findAllUser(){
RowMapper<Person> rowMapper = new BeanPropertyRowMapper<>(Person.class);
return jdbcTemplate.query("select * from person",rowMapper);
}
}
5.編寫測試檔案
package org.example;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.List;
/**
* Unit test for simple App.
*/
public class AppTest
{
/**
* Rigorous Test :-)
*/
@Test
public void test2(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
PersonDao personDao = context.getBean("personDao", PersonDao.class);
List<Person> allUser = personDao.findAllUser();
for (Person person : allUser) {
System.out.println(person);
}
}
}