昆明java培训
达内昆明广州春城路

18487146383

热门课程

Java培训:使用Jdbc Template的基本操作

  • 时间:2016-10-24
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明达内Java培训的老师今天给大家讲使用Jdbc Template的基本操作步骤。

1.appliactionContext.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:p="http://www.springframework.org/schema/p"

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">

<!--数据源的配置-->

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<property name="url" value="jdbc:mysql:///spring"></property>

<property name="username" value="root"></property>

<property name="password" value=""></property>

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property ame="dataSource" ref="dataSource"></property>

</bean>

<bean id="userDao" class="cn.happy.impl.UserDAOImpl">

<property ame="jdbcTemplate" ref="jdbcTemplate"></property>

</bean>

</beans>

2.接口:IUserDAO.java

public interface IUserDAO {

public void addUser(User user);

public void deleteUser(int id);

public void updateUser(User user);

public String searchUserName(int id);

public User searchUser(int id);

public List<User> findAll();

}

3.接口实现类:UserDAOImpl.java

Spring提供了JdbcDaoSupport支持类,所有DAO继承这个类,就会自动获得JdbcTemplate(前提是注入DataSource)。

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property ame="dataSource" ref="dataSource"></property>

</bean>

<bean id="userDao" class="cn.happy.impl.UserDAOImpl">

<property ame="jdbcTemplate" ref="jdbcTemplate"></property>

</bean>

JdbcTemplate主要提供下列方法:

1、execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

2、update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

3、query方法及queryForXXX方法:用于执行查询相关语句;

4、call方法:用于执行存储过程、函数相关语句。

public class UserDAOImpl extends JdbcDaoSupport implements IUserDAO {

public void addUser(User user) {

String sql = "insert into user values(?,?,?)";

this.getJdbcTemplate().update(sql, user.getId(), user.getUsername(),

user.getPassword());

}

public void deleteUser(int id) {

String sql = "delete from user where id=?";

this.getJdbcTemplate().update(sql, id);

}

public void updateUser(User user) {

String sql = "update user set username=?,password=? where id=?";

this.getJdbcTemplate().update(sql, user.getUsername(),

user.getPassword(), user.getId());

}

public String searchUserName(int id) {//简单查询,按照ID查询,返回字符串

String sql = "select username from user where id=?";

//返回类型为String(String.class)

return this.getJdbcTemplate().queryForObject(sql, String.class, id);

}

public List<User> findAll() {//复杂查询返回List集合

String sql = "select * from user";

return this.getJdbcTemplate().query(sql, new UserRowMapper());

}

public User searchUser(int id) {

String sql="select * from user where id=?";

return this.getJdbcTemplate().queryForObject(sql, new UserRowMapper(), id);

}

class UserRowMapper implements RowMapper<User> {

//rs为返回结果集,以每行为单位封装着

public User mapRow(ResultSet rs, int rowNum) throws SQLException {

User user = new User();

user.setId(rs.getInt("id"));

user.setUsername(rs.getString("username"));

user.setPassword(rs.getString("password"));

return user;

}

}

}

4.测试类:UserTest.java

public class UserTest {

@Test//增

public void demo1(){

User user=new User();

user.setId(3);

user.setUsername("admin");

user.setPassword("123456");

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

dao.addUser(user);

}

@Test//改

public void demo2(){

User user=new User();

user.setId(1);

user.setUsername("admin");

user.setPassword("admin");

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

dao.updateUser(user);

}

@Test//删

public void demo3(){

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

dao.deleteUser(3);

}

@Test//查(简单查询,返回字符串)

public void demo4(){

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

String name=dao.searchUserName(1);

System.out.println(name);

}

@Test//查(简单查询,返回对象)

public void demo5(){

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

User user=dao.searchUser(1);

System.out.println(user.getUsername());

}

@Test//查(复杂查询,返回对象集合)

public void demo6(){

ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

IUserDAO dao=(IUserDAO) applicationContext.getBean("userDao");

List<User> users=dao.findAll();

System.out.println(users.size());

}

}

昆明达内Java培训的老师今天讲的这些知识点就讲完了,记得回去好好复习。

上一篇:java线程的Interrupt、setDaemon()、join
下一篇:Java中如何使用嵌入MySQL

Effective java的创建和销毁对象

昆明达内Java培训学费多少?

LinkedIn服务:三人行,必有我师【达内java培训】

Java培训:7月排行榜Go创新高Java稳第一

选择城市和中心
贵州省

广西省

海南省

台湾