第六章 JdbcTemplate概念和准备,JdbcTemplate操作数据库(添加)
1.JdbcTemplate(概念和准备)
(1)spring框架对jdbc进行封装,使用JdbcTemplate方便实现对数据库操作。
(2)准备工作:
①引入jar包:
②在spring配置文件中配置数据库连接池:
<!--配置数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/user_db"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
③配置JdbcTemplate对象,注入DataSource
<!--JdbcTemplate对象-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入dataSource-->
<property name="dataSource" ref="dataSource"></property>
</bean>
④创建service类,创建dao类,在dao注入JdbcTemplate对象。
配置文件中:
<!--开启组件扫描-->
<context:component-scan base-package="com"></context:component-scan>
service中:
@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
}
dao中:
@Repository
public class BookDaoImpl implements BookDao {
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
}
用JdbcTemplate实现对数据库的增删改操作。
2.JdbcTemplate操作数据库(添加):
(1)对应数据库表创建实体类
public class User {
private String userId;
private String username;
private String ustatus;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUstatus() {
return ustatus;
}
public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}
(2)编写service和dao:
①在dao进行数据库添加操作:
@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
//添加的方法
public void addBook(Book book){
bookDao.add(book);
}
}
②调用JdbcTemplate对象里面的update方法实现添加操作。
@Repository
public class BookDaoImpl implements BookDao {
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//添加的方法
@Override
public void add(Book book) {
String sql="insert into t_book values(?,?,?)";
Object[] args={book.getUserId(), book.getUsername(), book.getUstatus()};
int update = jdbcTemplate.update(sql, args);
System.out.println(update);
}
}
③测试类:
@Test
public void testJdbcTemplat(){
ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
BookService bookService = context.getBean("bookService", BookService.class);
Book book=new Book();
book.setUserId("1");
book.setUsername("java");
book.setUstatus("ok");
bookService.addBook(book);
}