spring-jdbctemplate對數據庫的crud操做---idea實現

1.倒入jar包

    除了spring的基礎jar包外,還要添加支持jdbc操做的jar包和對事務進行管理的jar包mysql

2.對數據庫信息進行配置,用戶名和密碼填本身的

//1.建立對象,設置數據庫信息
DriverManagerDataSource dataSource=new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///mysql");
dataSource.setUsername("****");
dataSource.setPassword("*******");
//2.建立jdbctemplate對象,設立數據源
JdbcTemplate template=new JdbcTemplate(dataSource);

3.進行插入操做

String sql="insert into addresslist values(?,?,?)";
int rows = template.update(sql, 3,"xiaoxiao", "1817408");

System.out.println("effected rows is:"+rows);

3.進行更新操做

//3.jdbctemplate裏面實現操做
String sql="UPDATE addresslist SET name=? WHERE id =?";
int rows = template.update(sql,"i am update","2");
System.out.println("effected rows is:"+rows);

4.進行刪除操做

//3.jdbctemplate裏面實現操做
String sql="DELETE FROM addresslist WHERE name=?";
int rows = template.update(sql,"i am update");
System.out.println("effected rows is:"+rows);

5.進行查詢操做

//查詢總行數
String sql="SELECT COUNT(*) FROM  addresslist";
int count = template.queryForObject(sql, Integer.class);
System.out.println("count is:"+count);
//查詢對象
String sql="SELECT * FROM  addresslist where name=?";
User user = template.queryForObject(sql, new Myrowmapper(), "xiaoxiao");
System.out.println(user);
//查詢list集合
String sql="SELECT * FROM  addresslist ";
List<User> list =template.query(sql,new Myrowmapper());
System.out.println(list);
//Myrowmapper
private class Myrowmapper implements RowMapper<User>
{
    @Override
    public User mapRow(ResultSet resultSet, int i) throws SQLException {
        //從結果集中獲得數據
        String name = resultSet.getString("name");
        String phone = resultSet.getString("phone");
        //再封裝到對象中
        User user=new User();
        user.setName(name);
        user.setPhone(phone);
        return user;
    }
}

5.基於xml的數據庫的操做

    5.1建立類

public class UserService {
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    private UserDao userDao;
    public void add(){
        userDao.add();
    }
}
public class UserDao {
    //切記要提供set方法
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    private JdbcTemplate jdbcTemplate;
    public void add(){
        String sql="insert into addresslist values(?,?,?)";
        jdbcTemplate.update(sql,4,"zhaoliu111","80");
    }
}

    5.1配置xml

<!--用xml的方式配置c3p0 鏈接數據-->
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <!--配置屬性-->
    <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
    <property name="jdbcUrl" value="jdbc:mysql:///mysql"></property>
    <property name="user" value="root"></property>
    <property name="password" value="raoxiaobo123"></property>
</bean>
<bean name="userDao" class="com.xiaobo.jdbc.UserDao">
    <!--注入jdbc魔板-->
    <property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <!--注入鏈接池-->
    <property name="dataSource" ref="datasource"></property>
</bean>
<bean name="userService" class="com.xiaobo.jdbc.UserService">
    <!--注入userDao-->
    <property name="userDao" ref="userDao"></property>
</bean>

       5.3測試

public class TestService {
    @Test
    public void test(){
        ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = (UserService) context.getBean("userService");
        userService.add();
    }
}

         5.4結果

        

相關文章
相關標籤/搜索