【j2ee spring】6、spring与数据库的连接配置

spring与数据库的连接配置

这里我们开始使用spring管理来配置数据的操作了

1、首先在xml文件中配置数据的连接MySQL

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><!– results in a setDriverClassName(String) call –><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mydb"/><property name="username" value="root"/><property name="password" value="masterkaoli"/></bean>

oracle

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/><property name="url" value="jdbc:oracle:thin:@rj-t42:1521:elvis"/><property name="username" value="scott"/><property name="password" value="tiger"/></bean>

2、我们先在数据库中建立一个表

create database cutter_point;create table `cutter_point`.`person`(`id` int not null auto_increment,`name` varchar(20) not null,primary key(`id`))ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

3、相应的bean类

/** * 功能:实现spring与jdbc的连接 * 时间:2015年3月26日21:09:20 * author:cutter_point */package cn.cutter_point.bean;public class Person {private Integer id;private String name;public Person() {}//默认构造函数public Person(String name){this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

4、然后我们相对数据库操作的业务bean1)接口类

/** * 功能:实现spring与jdbc的连接 * 时间:2015年3月26日21:09:20 * author:cutter_point */package cn.cutter_point.service;import java.util.List;import cn.cutter_point.bean.Person;public interface PersonService {/** * 保存person * @param person */public void save(Person person);/** * 更新person * @param person */public void update(Person person);/** * 根据id获取person * @param personid * @return */public Person getPerson(Integer personid);/** * 获取所有的person * @return */public List<Person> getPersons();/** * 删除指定的person根据id号 * @param personid */public void delete(Integer personid);}

2)业务bean实现接口PersonService

/** * 功能:实现spring与jdbc的连接 * 时间:2015年3月26日21:09:20 * author:cutter_point */package cn.cutter_point.service.impl;import java.util.List;import javax.sql.DataSource;import org.springframework.jdbc.core.JdbcTemplate;import cn.cutter_point.bean.Person;import cn.cutter_point.service.PersonService;public class PersonServiceBean implements PersonService {//private DataSource dataSource;//这里我们使用spring里面的一个类容器JdbcTemplate jdbcTemplate;public PersonServiceBean() {}/** * 设置数据源 * @param dataSource */public void setDataSource(DataSource dataSource){this.jdbcTemplate = new JdbcTemplate(dataSource);}@Overridepublic void save(Person person) {// TODO Auto-generated method stubjdbcTemplate.update("insert into person(name) values (?)", new Object[]{person.getName()}, new int[]{java.sql.Types.VARCHAR}); }@Overridepublic void update(Person person) {// TODO Auto-generated method stubjdbcTemplate.update("update person set name=? where id = ?", new Object[]{person.getName(), person.getId()},new int[]{java.sql.Types.VARCHAR, java.sql.Types.INTEGER});}@Overridepublic Person getPerson(Integer personid) {// TODO Auto-generated method stubreturn (Person) jdbcTemplate.queryForObject("select * from person where id = ?", new Object[]{personid},new int[]{java.sql.Types.INTEGER}, new PersonRowMapper());}@Overridepublic List<Person> getPersons() {return (List<Person>)jdbcTemplate.query("select * from person", new PersonRowMapper());}@Overridepublic void delete(Integer personid) {jdbcTemplate.update("delete from person where id = ?", new Object[]{personid}, new int[]{java.sql.Types.INTEGER});}}

3)实现查询数据的时候会有回调函数的使用就是把数据一个一个地取出来

/** * 功能:实现spring与jdbc的连接 * 时间:2015年3月26日21:09:20 * author:cutter_point */package cn.cutter_point.service.impl;import java.sql.ResultSet;import java.sql.SQLException;import org.springframework.jdbc.core.RowMapper;import cn.cutter_point.bean.Person;public class PersonRowMapper implements RowMapper {@Override//这个类在调用的时候外面已经做了//类似if(rs.next)的操作了,所以这里就不用这么做了public Object mapRow(ResultSet rs, int index) throws SQLException {//这里面我们把查询到的结果返回Person person = new Person(rs.getString("name"));person.setId(rs.getInt("id"));return person;}}

5、使用映射文件配置xmljdbc.properties要永不言弃坚持到底百折不挠宁死不屈,但我们好多人没想过,

【j2ee spring】6、spring与数据库的连接配置

相关文章:

你感兴趣的文章:

标签云: