Spring JDBC Support with jdbc configuration in code directly
来源:互联网 发布:手机淘宝抢购刷新技巧 编辑:程序博客网 时间:2024/06/16 05:08
Pre:Create schema:vicky_schema;
1.Create two tables;
CREATE TABLE CONTACT (
ID INT NOT NULL AUTO_INCREMENT, FIRST_NAME VARCHAR(60) NOT NULL
, LAST_NAME VARCHAR(40) NOT NULL
, BIRTH_DATE DATE
, UNIQUE UQ_CONTACT_1 (FIRST_NAME, LAST_NAME)
, PRIMARY KEY (ID)
);
CREATE TABLE CONTACT_TEL_DETAIL (
ID INT NOT NULL AUTO_INCREMENT
, CONTACT_ID INT NOT NULL
, TEL_TYPE VARCHAR(20) NOT NULL
, TEL_NUMBER VARCHAR(20) NOT NULL
, UNIQUE UQ_CONTACT_TEL_DETAIL_1 (CONTACT_ID, TEL_TYPE)
, PRIMARY KEY (ID)
, CONSTRAINT FK_CONTACT_TEL_DETAIL_1 FOREIGN KEY (CONTACT_ID)
REFERENCES CONTACT (ID)
);
2.Contact.java
package com.feifan.jdbcsample.contact.dao.contact;import java.io.Serializable;import java.sql.Date;import java.util.List;import org.apache.log4j.Logger;public class Contact implements Serializable{/** * @param args */private Long contactId;private String firstName;private String lastName;private Date birthDate;private List<ContactDetail> contactDetail;public Long getContactId() {return contactId;}public void setContactId(Long contactId) {this.contactId = contactId;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public Date getBirthDate() {return birthDate;}public void setBirthDate(Date birthDate) {this.birthDate = birthDate;}public List<ContactDetail> getContactDetail() {return contactDetail;}public void setContactDetail(List<ContactDetail> contactDetail) {this.contactDetail = contactDetail;}public String toString() {return "Contact Id: " + contactId + " First name: " + firstName + " Last name: " +lastName + " Birth date: " + birthDate;}}
3.ContactDetail.java
package com.feifan.jdbcsample.contact.dao.contact;import java.io.Serializable;public class ContactDetail implements Serializable {private Long contactDetailId;private Long contactId;private String telephoneType;private String telephoneNumber;public Long getContactDetailId() {return contactDetailId;}public void setContactDetailId(Long contactDetailId) {this.contactDetailId = contactDetailId;}public Long getContactId() {return contactId;}public void setContactId(Long contactId) {this.contactId = contactId;}public String getTelephoneType() {return telephoneType;}public void setTelephoneType(String telephoneType) {this.telephoneType = telephoneType;}public String getTelephoneNumber() {return telephoneNumber;}public void setTelephoneNumber(String telephoneNumber) {this.telephoneNumber = telephoneNumber;}public String toString() {return "Contact Detail Id: " + contactDetailId + "Contact Id: " + contactId +"Telephone type: " + telephoneType + "Telephone number: " + telephoneNumber;}}
4.ContactDao.java
package com.feifan.jdbcsample.contact.dao.contact;import java.util.List;public interface ContactDao {public List<Contact> findAllContact();public List<Contact> findByFirstName(String firstName);public void insert(Contact contact);public void update(Contact contact);public void delete(Contact contact);}
5.ContactDaoImpl.java
package com.feifan.jdbcsample.contact.daoImpl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import com.feifan.jdbcsample.contact.dao.contact.Contact;
import com.feifan.jdbcsample.contact.dao.contact.ContactDao;
public class ContactDaoImpl implements ContactDao {
private static Logger logger = Logger.getLogger(ContactDaoImpl.class.getPackage().getName());
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
logger.error("Can not find mysql jdbc driver,please install driver! " + ex.getMessage());
}
}
private Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/vicky_schema",
"root","pass");
}
private void closeConnection(Connection connection) {
if (connection == null) return;
try {
connection.close();
}
catch(SQLException ex) {
logger.error("Can not close the connection! " + ex.getMessage() );
}
}
@Override
public List<Contact> findAllContact() {
// TODO Auto-generated method stub
List<Contact> contactList = new ArrayList<Contact>();
Connection connection = null;
String QUREY_SQL = "SELECT * FROM CONTACT";
try {
connection = getConnection();
PreparedStatement statement = connection.prepareStatement(QUREY_SQL);
ResultSet resultSet = statement.executeQuery();
while(resultSet.next()) {
Contact contact = new Contact();
contact.setContactId(resultSet.getLong("ID"));
contact.setFirstName(resultSet.getString("FIRST_NAME"));
contact.setLastName(resultSet.getString("LAST_NAME"));
contact.setBirthDate(resultSet.getDate("BIRTH_DATE"));
contactList.add(contact);
}
} catch (SQLException ex) {
logger.error("The error occurs when execute query method" + ex.getMessage());
}
finally {
closeConnection(connection);
}
return contactList;
}
@Override
public List<Contact> findByFirstName(String firstName) {
// TODO Auto-generated method stub
return null;
}
@Override
public void insert(Contact contact) {
// TODO Auto-generated method stub
}
@Override
public void update(Contact contact) {
// TODO Auto-generated method stub
}
@Override
public void delete(Contact contact) {
// TODO Auto-generated method stub
}
}
6.ContactDaoSample1.java
package com.feifan.jdbcsample.contact.main;import java.util.ArrayList;import java.util.List;import com.feifan.jdbcsample.contact.dao.contact.Contact;import com.feifan.jdbcsample.contact.daoImpl.ContactDaoImpl;import org.apache.log4j.Logger;public class ContactDaoSample1 {/** * @param args */private static Logger logger = Logger.getLogger(ContactDaoSample1.class.getPackage().getName());public static void main(String[] args) {// TODO Auto-generated method stubList<Contact> res = new ArrayList<Contact>();ContactDaoImpl contactList = new ContactDaoImpl();res = contactList.findAllContact();for(Contact value : res) {logger.debug(value);}}}
- Spring JDBC Support with jdbc configuration in code directly
- spring + jdbc + extjs configuration
- using JDBC with Spring
- 07 Spring JDBC Support Spring对于JDBC的支持
- jmeter JDBC Configuration && JDBC Request
- Spring-boot JDBC with multiple DataSources sample
- Compile C++ code in Matlab with OpenCV support
- JDBC Connection Configuration & JDBC Request 详解
- Spring JDBC
- spring+JDBC
- Spring JDBC
- spring + jdbc
- Spring JDBC
- spring+jdbc
- spring+jdbc
- Spring JDBC
- Spring JDBC
- Spring JDBC
- 黑马程序员_线程基础
- org.springframework.web.context.ContextLoaderListener报错
- Ubuntu给菜单截图
- Frame-relay 帧中继实验
- maven 介绍以及环境快速搭建
- Spring JDBC Support with jdbc configuration in code directly
- QT学习(二)
- Singleton 考虑内存的释放和多线程
- 常用排序算法
- Google code android开源项目
- Google AdSense: CPM or CPC?
- IE8/IE9无法自动完成表单及记住密码的解决方法
- 苹果ios 技术文档 中文
- USACO Section 1.1 Broken Necklace