spring framework-jdbcTemplate

First layer:

dao

-bookdao(interface)

-bookdaoimpl

service layer:

BookService

Entity class object

Entry-book

Test class Test-TestBook

The structure is shown in the figure:

xml configuration:

<?xml version="1.0" encoding="UTF-8"?><br><beans xmlns="http://www.springframework.org/schema/beans"<br>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br>       xmlns:context="http://www.springframework.org/schema/context"<br>       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/ context https://www.springframework.org/schema/context/spring-context.xsd"><br>    <context:component-scan base-package="com"></context:component-scan><br>    <!-- Database connection pool --><br><!-- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"--><br><!-- destroy-method="close">--><br><!-- <property name="url" value="jdbc:mysql:///user_db" />--><br><!-- <property name="username" value="root" />--><br><!-- <property name="password" value="110120" />--><br><!-- <property name="driverClassName" value="com.mysql.jdbc.Driver" />--><br><!-- </bean>--><br>    <context:property-placeholder location="jdbc.properties"/><br>    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><br>        <property name="driverClassName" value="${prop.driverClassName}"/><br>        <property name="url" value="${prop.url}"/><br>        <property name="username" value="${prop.username}"/><br>        <property name="password" value="${prop.password}"/><br><br>    </bean><br>    <!--jdbcTemplate --><br>    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><br>        <!-- Inject datasource--><br>        <property name="dataSource" ref="dataSource"/><br>    </bean><br></beans>
jdbc configuration file:<br>?
#prop.url=jdbc:mysql://localhost:3306/user_db?rewriteBatchedStatements=true<br>prop.url=jdbc:mysql://localhost:3306/user_db?useUnicode=true &characterEncoding=utf-8<br>prop.username=root<br>prop.password=110120<br>prop.driverClassName=com.mysql.jdbc.Driver<br><br>initialSize=10<br>maxActive=20<br>maxWait=1000<br>filters=wall<br><br>Required jar package: 

The following is the specific code:

layer code:

package com.dao;<br><br>import com.entiry.Book;<br><br>import java.util.List;<br><br>public interface bookDAO {<!-- --><br>   void add(Book book);<br><br>    void update(Book book);<br>    void delById(String Id);<br><br>    int selectCount();<br><br><br><br>    Book selectBook(String id);<br><br>    List<Book> findList();<br><br>    void addBatchList(List<Object[]> list);<br><br> void batchUpdateBook(List<Object[]> lists);<br><br> void batchDel(List<Object[]> list);<br>}
package com.dao;<br><br>import com.entiry.Book;<br>import org.springframework.beans.factory.annotation.Autowired;<br>import org.springframework.jdbc.core.BeanPropertyRowMapper;<br>import org.springframework.jdbc.core.JdbcTemplate;<br>import org.springframework.stereotype.Repository;<br><br>import java.util.Arrays;<br>import java.util.List;<br><br>@Repository<br>public class bookDAOImpl implements bookDAO{<!-- --><br>    //Inject jdbcTemplate<br>    @Autowired<br>    private JdbcTemplate jdbcTemplate;<br>    //Add method<br>    @Override<br>    public void add(Book book) {<!-- --><br>        String sql = "insert into book values(?,?,?)";<br>        int update = jdbcTemplate.update(sql, book.getUserId(), book.getUsername(), book.getUstatus());<br>        if (update == 1){<!-- --><br>            System.out.println("Added successfully");<br>        }else {<!-- --><br>            System.out.println("Add failed");<br>        }<br>    }<br><br>    @Override<br>    public void update(Book book) {<!-- --><br>        String sql = "update book set username = ?,usatus = ? where user_id = ?";<br>        int update = jdbcTemplate.update(sql, book.getUsername(), book.getUstatus(), book.getUserId());<br>        if (update == -1){<!-- --><br>            System.out.println("Modification successful");<br>        }else {<!-- --><br>            System.out.println("Modification failed");<br>        }<br>    }<br><br>    @Override<br>    public void delById(String Id) {<!-- --><br>        String sql = "delete from book where user_id = ?";<br><br>        int update = jdbcTemplate.update(sql, Id);<br>        if (update == 1){<!-- --><br>            System.out.println("Deletion successful");<br>        }else {<!-- --><br>            System.out.println("Deletion failed");<br>        }<br><br>    }<br><br>    @Override<br>    public int selectCount() {<!-- --><br>        String sql = "select count(*) from book";<br>        Integer integer = jdbcTemplate.queryForObject(sql, Integer.class);<br>        return integer;<br><br>    }<br><br>    @Override<br>    public Book selectBook(String id) {<!-- --><br>        String sql = "select * from book where user_id = ?";<br>        Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Book>(Book.class), id);<br><br>        return book;<br>    }<br><br>    @Override<br>    public List<Book> findList() {<!-- --><br>        String sql = "select * from book";<br>        List<Book> bookList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<Book>(Book.class));<br>        return bookList;<br>    }<br><br>    @Override<br>    public void addBatchList(List<Object[]> list) {<!-- --><br>        String sql = "insert into book values(?,?,?)";<br>        int[] ints = jdbcTemplate.batchUpdate(sql,list);<br>        System.out.println(Arrays.toString(ints));<br>    }<br><br>    @Override<br>    public void batchUpdateBook(List<Object[]> lists) {<!-- --><br>        String sql = "update book set username =?,usatus = ? where user_id = ?";<br>        int[] ints = jdbcTemplate.batchUpdate(sql, lists);<br>        System.out.println(Arrays.toString(ints));<br>    }<br><br>    @Override<br>    public void batchDel(List<Object[]> list) {<!-- --><br>        String sql ="delete from book where user_id = ?";<br>        int[] ints = jdbcTemplate.batchUpdate(sql, list);<br>        System.out.println(Arrays.toString(ints));<br>    }<br>}<br>service layer:
package com.service;<br><br>import com.dao.bookDAO;<br>import com.entiry.Book;<br>import org.springframework.beans.factory.annotation.Autowired;<br>import org.springframework.stereotype.Service;<br><br>import java.util.List;<br><br>@Service<br>public class BookService {<!-- --><br>    //inject dao<br>    @Autowired<br>    private bookDAO bookdao;<br>    //Add to<br>    public void addBook(Book book){<!-- --><br>        bookdao.add(book);<br>    }<br>    //Revise<br>    public void update(Book book){<!-- --><br>        bookdao.update(book);<br>    }<br>    //delete<br>    public void delById(String Id){<!-- --><br>        bookdao.delById(Id);<br>    }<br>    //Query returns a certain value<br>    public int FindCount(){<!-- --><br>        return bookdao.selectCount();<br>    }<br>    //Query returns an object<br>    public Book findBook(String id){<!-- --><br>        return bookdao.selectBook(id);<br>    }<br>    //Return multiple objects<br>    public List<Book> findList(){<!-- --><br>        return bookdao.findList();<br>    }<br>    //Add in batches<br>    public void BatchAdd(List<Object[]> list){<!-- --><br>        bookdao.addBatchList(list);<br><br>    }<br>    //Batch Edit<br>    public void batchUpdateBook(List<Object []> lists){<!-- --><br>        bookdao.batchUpdateBook(lists);<br>    }<br>    //batch deletion<br>    public void batchDel(List<Object []> list){<!-- --><br>        bookdao.batchDel(list);<br><br>    }<br>}
entiry layer:<br>?
package com.entiry;<br><br>public class Book {<!-- --><br>    private String userId;<br>    private String username;<br>    private String ustatus;<br><br>    public Book() {<!-- --><br>    }<br><br>    public Book(String userId, String username, String ustatus) {<!-- --><br>        this.userId = userId;<br>        this.username = username;<br>        this.ustatus = ustatus;<br>    }<br><br>    public void setUserId(String userId) {<!-- --><br>        this.userId = userId;<br>    }<br><br>    public void setUsername(String username) {<!-- --><br>        this.username = username;<br>    }<br><br>    public void setUstatus(String ustatus) {<!-- --><br>        this.ustatus = ustatus;<br>    }<br><br>    public String getUserId() {<!-- --><br>        return userId;<br>    }<br><br>    public String getUsername() {<!-- --><br>        return username;<br>    }<br><br>    public String getUstatus() {<!-- --><br>        return ustatus;<br>    }<br><br>    @Override<br>    public String toString() {<!-- --><br>        return "Book{" +<br>                "userId='" + userId + '\'' +<br>                ", username='" + username + '\'' +<br>                ", ustatus='" + ustatus + '\'' +<br>                '}';<br>    }<br>}<br>Test class:<br>?
package com.Test;<br><br><br>import com.entiry.Book;<br>import com.service.BookService;<br>import org.junit.Test;<br>import org.springframework.context.ApplicationContext;<br>import org.springframework.context.support.ClassPathXmlApplicationContext;<br><br>import java.util.ArrayList;<br>import java.util.List;<br><br>public class TestBook {<!-- --><br>    /**<br>     * Test the add method of jdbc<br>     */<br>    @Test<br>    public void testADD (){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        bookService.addBook(new Book("3","Tom","a"));<br>    }<br>    /**<br>     * Test modification function<br>     */<br>    @Test<br>    public void testUpdate(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        bookService.update(new Book("1","Rose1","atuguig"));<br>    }<br>    /**<br>     * Test delete function<br>     */<br>    @Test<br>    public void testDel(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        bookService.delById("1");<br>    }<br>    /**<br>     * Test the function of querying the number<br>     */<br>    @Test<br>    public void testSelectCount(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        int count = bookService.FindCount();<br>        System.out.println(count);<br>    }<br>    /**<br>     * Test the function of querying a single object<br>     */<br>    @Test<br>    public void testSelectOneBook(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        Book book = bookService.findBook("1");<br>        System.out.println(book.toString());<br><br>    }<br>    /**<br>     * Test the function of querying multiple objects<br>     */<br>    @Test<br>    public void testSelectAllBook(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        List<Book> list = bookService.findList();<br>        System.out.println(list);<br><br>    }<br>    /**<br>     * Test the function of adding multiple objects in batches<br>     */<br>    @Test<br>    public void testAddSomeBook(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        List<Object[]> list = new ArrayList<>();<br>        Object [] o1 = {"4","javac","a"};<br>        Object [] o2 = {"5","c","b"};<br>        Object [] o3 = {"6","c + + ","a"};<br>        list.add(o1);<br>        list.add(o2);<br>        list.add(o3);<br>        bookService.BatchAdd(list);<br><br>    }<br>    /**<br>     * Test the function of batch modifying multiple objects<br>     */<br>    @Test<br>    public void testModifySomeBook(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        List<Object[]> list = new ArrayList<>();<br>        Object [] o1 = {"javac1","a","4"};<br>        Object [] o2 = {"c1","b","5"};<br>        Object [] o3 = {"c + + 1","a","6"};<br>        list.add(o1);<br>        list.add(o2);<br>        list.add(o3);<br>        bookService.batchUpdateBook(list);<br><br>    }<br>    /**<br>     * Test the function of batch deletion of multiple objects<br>     */<br>    @Test<br>    public void testDelSomeBook(){<!-- --><br>        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");<br>        BookService bookService = context.getBean("bookService", BookService.class);<br>        List<Object[]> list = new ArrayList<>();<br>        Object [] o1 = {"4"};<br>        Object [] o2 = {"5"};<br>        Object [] o3 = {"6"};<br>        list.add(o1);<br>        list.add(o2);<br>        list.add(o3);<br>        bookService.batchDel(list);<br><br>    }<br>}<br>Database table:<br>?

All test results are acceptable!

The knowledge points of the article match the official knowledge files, and you can further learn relevant knowledge. Java skill treeUsing JDBC to operate databasesJDBC Overview 132,415 people are learning the system