Use and summary of spring templates!

Source: Internet
Author: User

Running Environment: DBCP data source is used:

The jar packages I use include:

Commons-collections-3.1.jar commons-dbcp.jar commons-pool.jar ojdbc14.jar (or class12.jar)

If you do not know where to find the jar package, you can create a common Java project, not a web project !~

Right-click --> myeclipse -- add spring capabilities to introduce spring.

SQL:

Drop table t_user; <br/> Create Table t_user <br/> (<br/> userid number not null, <br/> username varchar2 (100) <br/> ); </P> <p> Create sequence seq_t_user <br/> minvalue 1 <br/> maxvalue 999999999999999999999999999 <br/> start with 1 <br/> increment by 1 <br/> cache 20;

 

Jdbctemplate:

Package COM. jungle. test; </P> <p> Import Java. SQL. preparedstatement; <br/> Import Java. SQL. sqlexception; <br/> Import Java. util. list; <br/> Import Java. util. properties; </P> <p> Import javax. SQL. datasource; </P> <p> Import Org. apache. commons. DBCP. basicdatasourcefactory; <br/> Import Org. springframework. JDBC. core. beanpropertyrowmapper; <br/> Import Org. springframework. JDBC. core. jdbctemplate; <br/> Import Org. sprin Gframework. JDBC. core. preparedstatementsetter; </P> <p> Import COM. jungle. bean. user; </P> <p>/** <br/> * spring template (jdbctemplater example) <br/> **/<br/> public class jdbctemplatetest {<br/> Public static void main (string [] ARGs) throws exception {<br/> properties PS = new properties (); <br/> ps. setproperty ("url", "JDBC: oracle: thin: @ localhost: 1521: Oracle"); <br/> ps. setproperty ("username", "chenl"); <br/> ps. setp Roperty ("password", "chenl"); <br/> ps. setproperty ("driverclassname", "oracle. JDBC. driver. oracledriver "); <br/> datasource DS = basicdatasourcefactory. createdatasource (PS); </P> <p> jdbctemplate = new jdbctemplate (DS ); </P> <p> /******************************** ******************************/</P> <p>/ /1. check <br/> system. out. println (query1 (jdbctemplate); </P> <p> // 2. condition query <br/> system. out. print Ln (query2 (jdbctemplate, 1); </P> <p> // 3. modify <br/> Update (jdbctemplate, new user (1, "aaaaaa"); </P> <p> // 4. add <br/> User user = new user (); <br/> User. setusername ("11 hahaa"); <br/> insert (jdbctemplate, user); </P> <p> // 5. delete <br/> User = new user (); <br/> User. setuserid (2); <br/> Del (jdbctemplate, user ); </P> <p >}</P> <p>/** <br/> * 1. use jdbctemplate <br> <br/> * to locate all <br/> **/<br/> @ suppresswarnings ({"unchecked "," Rawtypes "}) <br/> Public static list <user> query1 (jdbctemplate) {<br/> string SQL =" select * From t_user "; <br/> List <user> List = (list <user>) jdbctemplate. query (SQL, <br/> New beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 2. use the jdbctemplate <br> <br/> * condition to locate all detected <br/> **/<br/> @ suppresswarnings ({"unchecked", "rawtypes "}) <br/> Public static lis T <user> query2 (jdbctemplate, int userid) {<br/> string SQL = "select * From t_user where userid =? "; </P> <p> List <user> List = (list <user>) jdbctemplate. query (SQL, <br/> new object [] {userid}, new beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 3. use jdbctemplate <br> <br/> * modify data <br/> **/<br/> Public static void Update (jdbctemplate, final user) {<br/> string SQL = "Update t_user set username =? Where userid =? "; </P> <p> jdbctemplate. update (SQL, new preparedstatementsetter () {<br/> @ override <br/> Public void setvalues (preparedstatement PS) throws sqlexception {<br/> ps. setstring (1, user. getUserName (); <br/> ps. setint (2, user. getuserid (); <br/>}< br/>}); <br/>}</P> <p>/** <br/> * 4. use jdbctemplate <br> <br/> * insert data <br/> **/<br/> Public static void insert (jdbctemplate, final user) {<br/> S Tring idsql = "select seq_t_user.nextval from dual"; <br/> final int id = jdbctemplate. queryforint (idsql); // obtain the ID using the sequence </P> <p> string SQL = "insert into t_user (userid, username) values (?,?) "; <Br/> jdbctemplate. update (SQL, new preparedstatementsetter () {<br/> @ override <br/> Public void setvalues (preparedstatement PS) throws sqlexception {<br/> ps. setint (1, ID); <br/> ps. setstring (2, user. getUserName (); <br/>}< br/>}); <br/>}</P> <p>/** <br/> * 4. use jdbctemplate <br> <br/> * delete data <br/> **/<br/> Public static void del (jdbctemplate, final user) {</P> <p> string SQL = "del Ete from t_user where userid =? "; <Br/> jdbctemplate. update (SQL, new preparedstatementsetter () {</P> <p> @ override <br/> Public void setvalues (preparedstatement PS) throws sqlexception {<br/> ps. setint (1, user. getuserid (); <br/>}</P> <p >}); <br/>}< br/>

Namedparameterjdbctemplate:

Package COM. jungle. test; </P> <p> Import Java. util. hashmap; <br/> Import Java. util. list; <br/> Import Java. util. map; <br/> Import Java. util. properties; </P> <p> Import javax. SQL. datasource; </P> <p> Import Org. apache. commons. DBCP. basicdatasourcefactory; <br/> Import Org. springframework. JDBC. core. beanpropertyrowmapper; <br/> Import Org. springframework. JDBC. core. jdbctemplate; <br/> Import Org. springframework. JDBC. core. namedparam. beanpropertysqlparametersource; <br/> Import Org. springframework. JDBC. core. namedparam. namedparameterjdbctemplate; </P> <p> Import COM. jungle. bean. user; </P> <p>/** <br/> * spring (namedparameterjdbctemplate naming template example) <br/> **/<br/> public class namedjdbctemplatetest {<br/> Public static void main (string [] ARGs) throws exception {<br/> properties PS = new properties (); <br/> ps. setproperty ("url", "JDBC: oracle: thin: @ localhost: 1521: Oracle"); <br/> ps. setproperty ("username", "chenl"); <br/> ps. setproperty ("password", "chenl"); <br/> ps. setproperty ("driverclassname", "oracle. JDBC. driver. oracledriver "); <br/> datasource DS = basicdatasourcefactory. createdatasource (PS); </P> <p> namedparameterjdbctemplate namedjdbctemplate = new namedparameterjdbctemplate (<br/> DS); <br/> jdbctemplate = new jdbctemplate (DS ); </P> <p> // 1. condition query <br/> system. out. println (query (namedjdbctemplate, new user (3, "AA"); </P> <p> // 2. insert <br/> User user = new user (); <br/> User. setusername ("xx2"); <br/> insert (jdbctemplate, namedjdbctemplate, user); </P> <p> // 3. modify <br/> Update (namedjdbctemplate, new user (3, "ABC"); </P> <p> // 4. delete <br/> Del (namedjdbctemplate, new user (3, "ABC ")); </P> <p >}</P> <p>/** <br/> * 1. conditional query: jdbctemplate is not used. query (SQL, new <br/> * beanpropertyrowmapper (user. class); <br> <br/> * conditional namedparameterjdbctemplate <br/> **/<br/> @ suppresswarnings ({"unchecked", "rawtypes "}) <br/> Public static list <user> query (<br/> namedparameterjdbctemplate namedjdbctemplate, user) {<br/> string SQL = "select * From t_user where userid =: userid "; <br/> map = new hashmap (); <br/> map. put ("userid", user. getuserid (); <br/> List <user> List = namedjdbctemplate. query (SQL, MAP, <br/> New beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 2. insert <br/> **/<br/> Public static void insert (jdbctemplate, <br/> namedparameterjdbctemplate namedjdbctemplate, user) {<br/> string idsql = "select seq_t_user.nextval from dual"; <br/> final int id = jdbctemplate. queryforint (idsql); // obtain the ID using the sequence <br/> User. setuserid (ID); <br/> string SQL = "insert into t_user (userid, username) values (: userid,: username)"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}</P> <p>/** <br/> * 3. modify <br/> **/<br/> Public static void Update (namedparameterjdbctemplate namedjdbctemplate, <br/> User user) {<br/> string SQL = "Update t_user set username =: username where userid =: userid"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}</P> <p>/** <br/> * 4. delete <br/> **/<br/> Public static void del (namedparameterjdbctemplate namedjdbctemplate, <br/> User user) {<br/> string SQL = "delete from t_user where userid =: userid"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}< br/>

 

Summary:

 Package COM. jungle. test; </P> <p> Import Java. util. hashmap; <br/> Import Java. util. list; <br/> Import Java. util. map; <br/> Import Java. util. properties; </P> <p> Import javax. SQL. datasource; </P> <p> Import Org. apache. commons. DBCP. basicdatasourcefactory; <br/> Import Org. springframework. JDBC. core. beanpropertyrowmapper; <br/> Import Org. springframework. JDBC. core. jdbctemplate; <br/> Import Org. springframework. JDBC. c Ore. namedparam. beanpropertysqlparametersource; <br/> Import Org. springframework. JDBC. core. namedparam. namedparameterjdbctemplate; </P> <p> Import COM. jungle. bean. user; </P> <p>/** <br/> * template summary <br> <br/> * summarize the selection of jdbctemplate and namedparameterjdbctemplate <br> <br/> ** /<br/> public class totaltest {</P> <p> Public static void main (string [] ARGs) {<br/>/** <br/> * the following method indicates that only jdbctemplate and namedparameterjdbc are selected during query. All templates are the same <br> add, delete, and modify <br/> * select namedparameterjdbctemplate <br> <br/> * Note: queryforint, the queryforlist method can only be used for basic data types <br> <br/> * (for example, template. queryforlist (SQL, String. class); template. queryforint (SQL, integer. class);) <br> <br/> * Custom type (for example, user) query Method <br/> */<br/>}</P> <p>/** <br/> * 1. use jdbctemplate <br> <br/> * to locate all <br/> **/<br/> @ suppresswarnings ({"unchecked", "rawtypes "}) <br/> Public Static list <user> jdbcqueryall (jdbctemplate) {<br/> string SQL = "select * From t_user "; <br/> List <user> List = (list <user>) jdbctemplate. query (SQL, <br/> New beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 2. select namedparameterjdbctemplate for the condition query <br/> **/<br/> @ suppresswarnings ({"unchecked", "rawtypes "}) <br/> Public static list <user> conditionquery (<br/> Namedparameterjdbctemplate namedjdbctemplate, user) {<br/> string SQL = "select * From t_user where userid =: userid"; <br/> map = new hashmap (); <br/> map. put ("userid", user. getuserid (); <br/> List <user> List = namedjdbctemplate. query (SQL, MAP, <br/> New beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 2. select jdbctemplate for conditional query <br/> **/<br/> @ suppresswarnings ({"u Nchecked "," rawtypes "}) <br/> Public static list <user> query2 (jdbctemplate, int userid) {<br/> string SQL = "select * From t_user where userid =? "; <Br/> List <user> List = (list <user>) jdbctemplate. query (SQL, <br/> new object [] {userid}, new beanpropertyrowmapper (user. class); </P> <p> return list; <br/>}</P> <p>/** <br/> * 3. insert namedparameterjdbctemplate selected by namedparameterwhen there are many fields <br/> **/<br/> Public static void insert (jdbctemplate, <br/> namedparameterjdbctemplate namedjdbctemplate, user) {<br/> string idsql = "select seq_t_user.nextval from dual"; <br/> final int id = jdbctemplate. queryforint (idsql); // obtain the ID using the sequence <br/> User. setuserid (ID); <br/> string SQL = "insert into t_user (userid, username) values (: userid,: username)"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}</P> <p>/** <br/> * 4. delete select namedparameterjdbctemplate <br/> **/<br/> Public static void del (namedparameterjdbctemplate namedjdbctemplate, <br/> User user) {<br/> string SQL = "delete from t_user where userid =: userid"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}</P> <p>/** <br/> * 5. modify and select namedparameterjdbctemplate <br/> **/<br/> Public static void Update (namedparameterjdbctemplate namedjdbctemplate, <br/> User user) {<br/> string SQL = "Update t_user set username =: username where userid =: userid"; <br/> namedjdbctemplate. update (SQL, new beanpropertysqlparametersource (User); <br/>}</P> <p >}< br/>

 

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.