发表于: 2018-03-12 20:47:23
1 466
今天完成的事情:
使用spring书写JDBC
package com;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.StudentJDBCTemplate;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
StudentJDBCTemplate studentJDBCTemplate = (StudentJDBCTemplate)context.getBean("studentJDBCTemplate");
System.out.println("Records Creation");
studentJDBCTemplate.create("韩",12);
List<Student> students = studentJDBCTemplate.listStudents();
for (Student record:students) {
// System.out.println("ID:" + student.getId());
System.out.println(", Name : " + record.getName());
}
}
}
package com;
public class Student {
private int ID;
private String create_at;
private String update_at;
private String name;
private String dailyLink;
private int QQ;
private String onlineNumber;
private String mail;
private int phone;
private String enrollmentTime;
private String professionType;
private String brotherName;
private String promise;
@Override
public String toString() {
return "student{" +
"id=" + ID +
", 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;
}
public String getCreate_at() {
return create_at;
}
public void setCreate_at(String create_at) {
this.create_at = create_at;
}
public String getUpdate_at() {
return update_at;
}
public void setUpdate_at(String update_at) {
this.update_at = update_at;
}
public String getDailyLink() {
return dailyLink;
}
public void setDailyLink(String dailyLink) {
this.dailyLink = dailyLink;
}
public String getOnlineNumber() {
return onlineNumber;
}
public void setOnlineNumber(String onlineNumber) {
this.onlineNumber = onlineNumber;
}
public String getEnrollmentTime() {
return enrollmentTime;
}
public void setEnrollmentTime(String enrollmentTime) {
this.enrollmentTime = enrollmentTime;
}
public String getProfessionType() {
return professionType;
}
public void setProfessionType(String professionType) {
this.professionType = professionType;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getBrotherName() {
return brotherName;
}
public void setBrotherName(String brotherName) {
this.brotherName = brotherName;
}
public String getPromise() {
return promise;
}
public void setPromise(String promise) {
this.promise = promise;
}
public int getQQ() {
return QQ;
}
public void setQQ(int QQ) {
this.QQ = QQ;
}
public int getPhone() {
return phone;
}
public void setPhone(int phone) {
this.phone = phone;
}
}
package com;
import java.util.List;
import javax.sql.DataSource;
/**
* @author: Arike
* @program: springfirst
* @description: DAOinterface
* @create: 2018/3/12 下午2:25
*/
public interface StudentDAO {
void setDataSource(DataSource ds);
void create(String name, Integer ID);
// Student getStudent(Integer ID);
List<Student> listStudents();
void delete(Integer ID);
void update(Integer ID,String name);
}
package com;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class StudentJDBCTemplate implements StudentDAO{
private DataSource dataSource;
private JdbcTemplate jdbcTemplateObject;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplateObject = new JdbcTemplate(dataSource);
}
public void create(String name,Integer ID) {
String SQL = "insert into student (name,ID) values (?,?)";
jdbcTemplateObject.update(SQL,name,ID);
return;
}
// @Override
// public Student getStudent(Integer ID) {
// String SQL = "select * from student where id = ?";
// Student student = jdbcTemplateObject.query(SQL,new Object[]{ID}, new StudentMapper());
// return student;
// }
@Override
public List<Student> listStudents() {
String SQL = "select * from student";
List<Student> students = jdbcTemplateObject.query(SQL,new StudentMapper());
return students;
}
@Override
public void delete(Integer ID) {
String SQL = "delete from student where ID = ?";
jdbcTemplateObject.update(SQL,ID);
System.out.println("Deleted Record with ID =" + ID);
return;
}
@Override
public void update(Integer ID, String name) {
String SQL = "update student set name = ? where ID = ?";
jdbcTemplateObject.update(SQL,name,ID);
System.out.println("Updated Record with ID = "+ ID);
return;
}
}
package com;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class StudentMapper implements RowMapper<Student>{
public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
System.out.println(student);
return student;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">
<!-- Initialization for data source -->
<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/student"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!-- Definition for studentJDBCTemplate bean -->
<bean id="studentJDBCTemplate"
class="com.StudentJDBCTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
明天计划的事情:
跑通spring代码完成CRUD
遇到的问题:
property中的id,ref引用不成功,还需理解
收获:
初识spring
评论