用Spring框架往数据库插入一条语句。
机构图:
package henu.bean;
import java.io.Serializable;
import java.util.Set;
public class User implements Serializable{
private String username;
private String password;
private String gender;
private String email;
private String hobby;
private String introduction;
private String birthdate;
private String usertype;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getIntroduction() {
return introduction;
}
public void setIntroduction(String introduction) {
this.introduction = introduction;
}
public String getBirthdate() {
return birthdate;
}
public void setBirthdate(String birthdate) {
this.birthdate = birthdate;
}
public String getUsertype() {
return usertype;
}
public void setUsertype(String usertype) {
this.usertype = usertype;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password
+ ", gender=" + gender + ", email=" + email + ", hobby="
+ hobby + ", introduction=" + introduction + ", birthdate="
+ birthdate + ", usertype=" + usertype + "]";
}
}
package henu.dao;
import henu.bean.User;
public interface UserDao {
//�˷������û�user��ӵ����ݿ���
public void saveUser(User user);
}
package henu.dao.impl;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import henu.bean.User;
import henu.dao.UserDao;
@Component("userDao")
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate;
@Resource(name="dataSource")
public void setDataSource(DataSource dataSource){
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
/* saveUser()���������ݴ��뵽���ݿ��У���ȻҲ���Զ����ݽ��и��¡�ɾ������ѯ���� */
@Override
public void saveUser(User user) {
String sql = "insert into tb_users(fd_username,fd_password,fd_usertype,fd_email,fd_birthdate,"
+ "fd_gender,fd_hobby,fd_introduction ) values(?,?,?,?,?,?,?,?)";
jdbcTemplate.update(sql,new Object[]{user.getUsername(),user.getPassword(),user.getUsertype(),
user.getEmail(),user.getBirthdate(),user.getGender(),user.getHobby(),user.getIntroduction()});
}
}
package henu.service;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import henu.bean.User;
import henu.dao.UserDao;
@Component("userService")
public class UserService {
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
@Resource(name="userDao")
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Transactional
public void add(User user) {
userDao.saveUser(user);
}
}
package henu.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import henu.bean.User;
import henu.service.UserService;
public class Test {
public static void main(String[] args) {
UserService userService;
User user = new User();
user.setUsername("Melon1");
user.setBirthdate("2009-12-16");
user.setEmail("[email protected]");
user.setHobby("reading");
user.setIntroduction("introuction");
user.setGender("男");
user.setPassword("123456");
user.setUsertype("管理员");
ApplicationContext aac = new ClassPathXmlApplicationContext("applicationContext.xml");
userService = (UserService) aac.getBean("userService");
// ��user�������ݿ�
userService.add(user);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<!--启动@AspectJ支持 -->
<aop:aspectj-autoproxy />
<context:component-scan base-package="henu"></context:component-scan>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 使用Transaction注解方式管理事务 -->
<tx:annotation-driven transaction-manager="txManager" />
<bean id="jdbc"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:jdbc.properties" />
</bean>
<!--定义名称为dataSource的数据源信息 -->
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
</beans>
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_admin
jdbc.username=root
jdbc.password=123456
结果图: