时间:2021-07-01 10:21:17 帮助过:49人阅读
- CREATE TABLE `customer` (
- `CUST_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `NAME` varchar(100) NOT NULL,
- `AGE` int(10) unsigned NOT NULL,
- PRIMARY KEY (`CUST_ID`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
- package com.yiibai.customer.model;
- import java.sql.Timestamp;
- public class Customer
- {
- int custId;
- String name;
- int age;
- //getter and setter methods
- }
Customer Dao 接口.
客户的DAO实现,使用 JDBC 发出简单的 insert 和 select SQL语句。
- package com.yiibai.customer.dao;
- import com.yiibai.customer.model.Customer;
- public interface CustomerDAO
- {
- public void insert(Customer customer);
- public Customer findByCustomerId(int custId);
- }
- package com.yiibai.customer.dao.impl;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import javax.sql.DataSource;
- import com.yiibai.customer.dao.CustomerDAO;
- import com.yiibai.customer.model.Customer;
- public class JdbcCustomerDAO implements CustomerDAO
- {
- private DataSource dataSource;
- public void setDataSource(DataSource dataSource) {
- this.dataSource = dataSource;
- }
- public void insert(Customer customer){
- String sql = "INSERT INTO CUSTOMER " +
- "(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
- Connection conn = null;
- try {
- conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql);
- ps.setInt(1, customer.getCustId());
- ps.setString(2, customer.getName());
- ps.setInt(3, customer.getAge());
- ps.executeUpdate();
- ps.close();
- } catch (SQLException e) {
- throw new RuntimeException(e);
- } finally {
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {}
- }
- }
- }
- public Customer findByCustomerId(int custId){
- String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?";
- Connection conn = null;
- try {
- conn = dataSource.getConnection();
- PreparedStatement ps = conn.prepareStatement(sql);
- ps.setInt(1, custId);
- Customer customer = null;
- ResultSet rs = ps.executeQuery();
- if (rs.next()) {
- customer = new Customer(
- rs.getInt("CUST_ID"),
- rs.getString("NAME"),
- rs.getInt("Age")
- );
- }
- rs.close();
- ps.close();
- return customer;
- } catch (SQLException e) {
- throw new RuntimeException(e);
- } finally {
- if (conn != null) {
- try {
- conn.close();
- } catch (SQLException e) {}
- }
- }
- }
- }
File : Spring-Customer.xml
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="customerDAO" class="com.yiibai.customer.dao.impl.JdbcCustomerDAO">
- <property name="dataSource" ref="dataSource" />
- </bean>
- </beans>
File : Spring-Datasource.xml
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://localhost:3306/yiibaijava" />
- <property name="username" value="root" />
- <property name="password" value="password" />
- </bean>
- </beans>
File : Spring-Module.xml
6.项目结构 本实例完整目录结构。
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <import resource="database/Spring-Datasource.xml" />
- <import resource="customer/Spring-Customer.xml" />
- </beans>
- package com.yiibai.common;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.yiibai.customer.dao.CustomerDAO;
- import com.yiibai.customer.model.Customer;
- public class App
- {
- public static void main( String[] args )
- {
- ApplicationContext context =
- new ClassPathXmlApplicationContext("applicationContext.xml");
- CustomerDAO customerDAO = (CustomerDAO) context.getBean("customerDAO");
- Customer customer = new Customer(1, "yiibai",29);
- customerDAO.insert(customer);
- Customer customer1 = customerDAO.findByCustomerId(1);
- System.out.println(customer1);
- }
- }
输出结果:
下载源代码 – http://pan.baidu.com/s/1SR2GI
- Customer [age=29, custId=1, name=yiibai]
Spring+JDBC实例
标签:dash 目录 void 配置文件 div getc .sql getbean localhost