Spring和数据库的使用
一定注意jar包要使用正确
1.在bens配置文件中
<!-- 自动进行ioc装配
-->
<
context:component-scan
base-package=
"com.test2"
/>
<!-- 使用spring自带的jdbc连接模板
-->
<
bean
id=
"dataSrouce"
class=
"org.springframework.jdbc.datasource.SimpleDriverDataSource"
>
<
property
name=
"
username"
value=
"root"
/>
<
property
name=
"
password"
value=
"root"
/>
<
property
name=
"
driverClass"
value=
"com.mysql.jdbc.Driver"
/>
<!-- 配置连接到
mysql
数据库中test库 -->
<
property
name=
"
url"
value=
"jdbc:mysql://localhost:3306/test"
/>
</
bean
>
<
bean
id=
"jdbcTemplate"
class=
"org.springframework.jdbc.core.JdbcTemplate"
>
<
property
name=
"
dataSource"
ref=
"dataSrouce"
/>
</
bean
>
2.在操作数据库的dao中
@Repository(value =
"jdbc")
public
class TestDaoiml
implements TestDao {
@Autowired
public JdbcTemplate
jdbcTemplate;
@Override
public Student getData(
int
sid) {
// 这里已经连接了
mysql
中test数据库,然后连接student表 进行查询
String
sql =
"SELECT sid, name FROM student WHERE sid = ?";
Student
student =
jdbcTemplate.queryForObject(
sql,
new RowMapper<Student>() {
@Override
public Student mapRow(ResultSet
resultSet,
int
i)
throws SQLException {
Student
stu =
new Student();
stu.setSid(
resultSet.getInt(
"sid"));
stu.setName(
resultSet.getString(
"name"));
return
stu;
}
},
sid);
return
student;
}
public
void insertData() {
String
sql=
"insert into student values(?,?,?)";
Object
params[]= {12,
"美女",
"妞"};
jdbcTemplate.update(
sql,
params);
}
public List<Student> getAllData(){
ArrayList<Student>
arrayList =
new ArrayList<Student>();
String
sql=
"select * from student";
BeanPropertyRowMapper<Student>
mapper =
new BeanPropertyRowMapper<Student>(Student.
class);
List<Student>
query =
jdbcTemplate
.query(
sql
,
mapper
,
null
);
return
query;
}
}
3.在main方法中直接可以进行使用
public
static
void main(String
args[]) {
ClassPathXmlApplicationContext
applicationContext =
new ClassPathXmlApplicationContext(
"applicationContext.xml");
TestDaoiml
bean = (TestDaoiml)
applicationContext.getBean(
"jdbc");
Student
data =
bean.getData(0);
System.
out.println(
"单条查询=="+
data.toString());
bean.insertData();
List<Student>
allData =
bean.getAllData();
System.
out.println(
"多条查询==");
for (Student
student :
allData) {
System.
out.println(
student.toString());
}
}