mysql.jdbc.Driver
root
admin
?
6、测试类
/**
*
*/
package com.test;
import java.util.List;
import java.util.Map;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.inspur.data.StudentDaoImp;
import com.inspur.data.User;
import com.inspur.data.UserDaoImp;
import junit.framework.TestCase;
/**
*@author WHD
*2014-10-4
*/
public class TestDisk extends TestCase{
public void test(){
ApplicationContext act = new ClassPathXmlApplicationContext("ApplicationContext.xml");
UserDaoImp userdaoimp=(UserDaoImp)act.getBean("userDaoImp");
StudentDaoImp studentdaoimp=(StudentDaoImp)act.getBean("studentDaoImp");
User user= new User();
user.setAge(3);
user.setName("name3");
userdaoimp.tell();
userdaoimp.SaveUser(user);
List
list=userdaoimp.findUser();
for(User data:list){
System.out.println("查询结果:"+data.getAge()+" "+data.getName());
}
// 查询结果:
int count=userdaoimp.count();
System.out.println(count);
}
}
?
?
?
上面的是使用了spring的jdbcTemplate模板,下面使用mapper 也就是在sql和应用之间加一道墙隔开我们不和sql打交道
1、Javabean
package com.inspur.jdbcMapper;
/**
*@author WHD
*2015-2-5
*/
public class Person {
private int age;
private String name;
public Person(){}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、继承SqlUpdate实现隔离
package com.inspur.jdbcMapper;
import java.sql.Types;
import javax.sql.DataSource;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.object.SqlUpdate;
/**
*@author WHD
*2015-2-5
*/
public class InsertPerson extends SqlUpdate{
public InsertPerson(DataSource datasource){
setDataSource(datasource);
setSql("insert into springjdbctest values(?,?)");
declareParameter(new SqlParameter(Types.INTEGER));
declareParameter(new SqlParameter(Types.VARCHAR));
compile();
}
public int insert(Person person){
Object []params= new Object[]{person.getAge(),person.getName()};
return update(params);
}
}
3、继承SqlUpdate实现隔离
package com.inspur.jdbcMapper;
import java.sql.Types;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.object.SqlUpdate;
/**
*@author WHD
*2015-2-9
*/
public class DeletePerson extends SqlUpdate{
public DeletePerson(javax.sql.DataSource dataSource){
setDataSource(dataSource);
setSql("delete from springjdbctest where age=?");
declareParameter(new SqlParameter(Types.INTEGER));
}
public int delete(Person person){
Object []params= new Object[]{person.getAge()};
return update(params);
}
}
4、业务中的方法调用2中方法进行insert,但这里也就是业务中我们不用谢sql语句
package com.inspur.jdbcMapper;
/**
*@author WHD
*2015-2-5
*/
public class MyInsert {
private InsertPerson insertPerson;
public InsertPerson getInsertPerson() {
return insertPerson;
}
public void setInsertPerson(InsertPerson insertPerson) {
this.insertPerson = insertPerson;
}
public int insert(Person person){
System.out.println("执行插入");
return insertPerson.insert(person);
}
public void tell(){
System.out.println("执行插入");
}
}
5、业务中的方法调用3中方法进行delete,执行3中的方法但我们不用写sql语句
package com.inspur.jdbcMapper;
/**
*@author WHD
*2015-2-9
*/
public class MyDelete {
private DeletePerson deletePerson;
public DeletePe