首先创建jdbc.properties配置文件
jdbc.url=jdbc\:mysql\://localhost:3306/one?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=123456
jdbc.driver=com.mysql.jdbc.Driver
其中url是指你的mysql数据库的地址,localhost是本地,3306是mysql数据库的接口,one是数据库名称(根据自己的数据库名称修改)。
创建数据库和表,数据库名称为one,表格名称为student。
将jdbc.properties注册到spring容器中,在applicationContext.xml中配置
//根据自己的路径修改
然后注册数据源,数据源就是你的数据库,使用的连接池是spring内置的连接池,也可以选择其他的连接池,但是就需要添加另外的jar,将红色部分修改即可,下面是最基本的设置,当然还有其他的可选属性。
创建Dao层:StudentDao接口和StudentDaoImpl类 。 dao层是用于访问和操作数据库的层。
public interface StudentDao {
void insertStudent(Student t);
}
//说一下下面这个类,insertStudent()方法就是向数据库的student表插入一条记录,继承JdbcDaoSupport抽象类,才拥有了访问数据库的各种方法,比如删除,修改等,但是还要指明数据源是哪个数据库,现在还没有指明。
public class StudentDaoImpl extends JdbcDaoSupport implements StudentDao {
@Override
public void insertStudent(Student t) {
String sql="insert into student value(?,?,?)";
this.getJdbcTemplate().update(sql,t.getName(),t.getAge(),t.getName());
}
}
在applicationContext.xml里面配置StudentDaoImpl的bean,并且指明数据源
//id随便写,但是最好和类的名字一致
//name随便写,最好一致
最后写一个测试类来调用StudentDaoImpl类的方法来添加一条数据,Student类就是一个简单的类,
@Service //由于使用了注解方式注入,那么applicationContext.xml里面就不用定义它的bean了。
public class Student{
@Value("dgh")
private String name;
@Value("21")
private String age;
@Value("学生")
private String job;
public String getName() {return name; }
public void setName(String name) {this.name = name;}
public String getAge() {return age;}
public void setAge(String age) {this.age = age;}
public String getJob() {return job;}
public void setJob(String job) {this.job = job;}
}
//下面是测试类
public class test{
public StudentDaoImpl studentDaoImpl;
public void setStudentDaoImpl(StudentDaoImpl threeDaoImpl) {
this.studentDaoImpl = threeDaoImpl;
}
public void add(Student t) {
studentDaoImpl.insertStudent(t);
}
}
也需要在配置test类
最后在main方法中:
ApplicationContext ac=new ClassPathXmlApplicationContext("test1/applicationContext.xml");
StudentServiceImpl a=(StudentServiceImpl)ac.getBean("dataService");
Student t=(Student)ac.getBean("student") ;
a.add(t);