Spring支持dao模式的小实例

用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

结果图:








猜你喜欢

转载自blog.csdn.net/weixin_38891150/article/details/79888832
今日推荐