当前位置: 首页 > news >正文

上海高档网站建设网络工程师题库

上海高档网站建设,网络工程师题库,logo在线设计生成器万动力,jsp做的求职招聘网站百度云前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、Spring对不同的持久化支持#xff1a; Spring为各种支持的持久化技术#xff0c;都提供了简单操作的模板和回调 ORM持久化技术模…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 一、Spring对不同的持久化支持 Spring为各种支持的持久化技术都提供了简单操作的模板和回调 ORM持久化技术模板类JDBCorg.springframework.jdbc.core.JdbcTemplateHibernate5.0org.springframework.orm.hibernate5.HibernateTemplateIBatis(MyBatis)org.springframework.orm.ibatis.SqlMapClientTemplateJPAorg.springfrmaework.orm.jpa.JpaTemplate 其实Spring的JDBCTemplate有点像DBUtils但是有时候还没有DBUitls好用。这里来学习一下使用Spring的JDBCTemplate来玩一下CRUD。 二、使用JdbcTemplate需要的jar包 在这里使用Spring的JDBCTemplate的时候先要把轮子拿过来 除此之外在Java中操作数据库怎么能不要对应的驱动包呢 三、JdbcTemplate使用的基本步骤 然后再看看Spring的JDBCTemplate的使用大体步骤这里有一个小例子 1 package com.spring.test;2 3 import org.junit.Test;4 import org.springframework.jdbc.core.JdbcTemplate;5 import org.springframework.jdbc.datasource.DriverManagerDataSource;6 7 public class TestJDBCTemplate {8 9 Test10 public void test1() {11 12 // JDBC模板依赖于连接池来获得数据的连接所以必须先要构造连接池13 DriverManagerDataSource dataSource new DriverManagerDataSource();14 dataSource.setDriverClassName(com.mysql.jdbc.Driver);15 dataSource.setUrl(jdbc:mysql://localhost:3306/spring);16 dataSource.setUsername(root);17 dataSource.setPassword(123456);18 19 // 创建JDBC模板20 JdbcTemplate jdbcTemplate new JdbcTemplate();21 // 这里也可以使用构造方法22 jdbcTemplate.setDataSource(dataSource);23 24 // sql语句25 String sql select count(*) from user;26 Long num (long) jdbcTemplate.queryForObject(sql, Long.class);27 28 System.out.println(num);29 30 }31 32 } 四、进一步的考虑 其实这个例子本身没有什么的只是演示了一下其实在学Spring之后感觉应该形成一种习惯在new对象的时候我要想到IOC在使用Set方法的时候我要想到DI再去要方便面哦不是切面我们应该想到用AOP的。这里可以在Spring中配置如下的引用链 1. 我要有DataSourceDataSource的属性可以通过注入数据库的一些配置属性添加 2. 我要有JdbcTemplate而Template依赖与DataSource我要以ref的方式为我的JdbcTemplate注入引用 3. 有了JdbcTemplate之后我要有Dao此时我应该在Dao添加一个JdbcTemplate的成员然后以ref的方式将JdbcTemplate引入到Dao中 4. 我在Action或者是Servlet中都会调用的是Serivce所以我在Serivce中要添加一个Dao作为成员然后由ref在注入Dao到Service中 DataSource -- JdbcTemplate -- Dao -- Service -- Action/Servlet --表示将左边的对象注入到右边的对象当中 配置文件如下 1 ?xml version1.0 encodingUTF-8?2 beans xmlnshttp://www.springframework.org/schema/beans3 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance4 xmlns:contexthttp://www.springframework.org/schema/context5 xmlns:aophttp://www.springframework.org/schema/aop6 xmlns:txhttp://www.springframework.org/schema/tx7 xsi:schemaLocationhttp://www.springframework.org/schema/beans8 http://www.springframework.org/schema/beans/spring-beans.xsd9 http://www.springframework.org/schema/context10 http://www.springframework.org/schema/context/spring-context.xsd11 http://www.springframework.org/schema/aop12 http://www.springframework.org/schema/aop/spring-aop.xsd13 http://www.springframework.org/schema/tx14 http://www.springframework.org/schema/tx/spring-tx.xsd15 16 !-- IOC和DI的注解扫描 --17 context:component-scan base-packagecom.spring /context:component-scan18 19 !-- 打开AOP的注解 --20 !-- 这里用的是中间的横线而不是下划线 --21 aop:aspectj-autoproxy/aop:aspectj-autoproxy22 23 bean iddataSource classcom.mchange.v2.c3p0.ComboPooledDataSource 24 property namejdbcUrl valuejdbc:mysql://localhost:3306/spring_03/property25 property namedriverClass valuecom.mysql.jdbc.Driver/property26 property nameuser valueroot/property27 property namepassword value123456/property28 /bean29 30 bean idjdbcTemplate classorg.springframework.jdbc.core.JdbcTemplate31 property namedataSource refdataSource/property32 /bean33 34 bean iduserDao classcom.spring.dao.UserDao35 property namejdbcTemplate refjdbcTemplate/property36 /bean37 38 bean iduserService classcom.spring.service.UserService39 property nameuserDao refuserDao/property40 /bean41 42 /beans 其中dataSource和jdbcTemplate都是直接配置的不用写啥。 然后是UserDao.java 1 package com.spring.dao;2 3 import org.springframework.jdbc.core.JdbcTemplate;4 5 import com.spring.domain.User;6 7 public class UserDao {8 9 private JdbcTemplate jdbcTemplate;10 11 public JdbcTemplate getJdbcTemplate() {12 return jdbcTemplate;13 }14 15 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {16 this.jdbcTemplate jdbcTemplate;17 }18 19 public void addUser(User user) {20 21 String sql insert into user (username, password) values (?, ?);22 23 jdbcTemplate.update(sql, user.getUsername(), user.getPassword());24 25 }26 27 } UserSerice.java 1 package com.spring.service;2 3 import com.spring.dao.UserDao;4 import com.spring.domain.User;5 6 public class UserService {7 8 // 加入userDao作为成员变变量9 private UserDao userDao;10 11 // 注意这里要增加get和set方法12 public UserDao getUserDao() {13 return userDao;14 }15 16 public void setUserDao(UserDao userDao) {17 this.userDao userDao;18 }19 20 public void addUser(User user) {21 userDao.addUser(user);22 }23 } 上面的文件都是用的配置文件来获得对象的而没有使用注解。 测试类 1 package com.spring.test;2 3 import org.junit.Test;4 import org.springframework.context.ApplicationContext;5 import org.springframework.context.support.ClassPathXmlApplicationContext;6 import com.spring.domain.User;7 import com.spring.service.UserService;8 9 public class TestJDBCTemplate {10 11 Test12 public void test2() {13 14 ApplicationContext ctx new ClassPathXmlApplicationContext(bean.xml);15 UserService userService (UserService) ctx.getBean(userService);16 17 User user new User();18 user.setPassword(111);19 user.setUsername(小王);20 21 userService.addUser(user);22 23 }24 25 } 哦对了其中配置的数据源是C3P0的数据源还要导入C3P0的包 五、JdbcTemplate的CRUD方法 1. 插入数据 1 public void addUser(User user) {2 3 String sql insert into user (username, password) values (?, ?);4 5 jdbcTemplate.update(sql, user.getUsername(), user.getPassword());6 7 } 如上插入代码用的是update方法其实增删改用的都是update方法而查询则是和query相关的方法。 2. 删除操作 1 public void deleteUser( ) {2 String sql delete from user where username ?;3 jdbcTemplate.update(sql, 小王);4 } 3. 修改操作 1 public void updateUser(User user) {2 String sql update user set username? where username ?;3 jdbcTemplate.update(sql, user.getUsername() _new, user.getUsername());4 } 4. 查询操作 上面三个都比较简单查询倒是有些复杂。在使用比较基础的持久化工具的时候比如DBUtils都会针对查询结果给我们提供一些封装的接口和类但是JdbcTemplate只给我们提供了接口并没有可用的类所以我们需要自己写实现类来进行封装。这里会学习使用JdbcTemplate进行三种查询操作 4.a. 查询表的记录数 1 Test2 public void test5() {3 ApplicationContext ctx new ClassPathXmlApplicationContext(bean.xml);4 JdbcTemplate jdbcTemplate (JdbcTemplate) ctx.getBean(jdbcTemplate);5 String sql select count(*) from user;6 Long row jdbcTemplate.queryForObject(sql, Long.class);7 System.out.println(查询出来的记录数为 row);8 } 4.b. 查询返回对象 1 Test2 public void test6() {3 // 获得jdbcTemplate对象4 ApplicationContext ctx new ClassPathXmlApplicationContext(bean.xml);5 JdbcTemplate jdbcTemplate (JdbcTemplate) ctx.getBean(jdbcTemplate);6 String sql select username, password from user where username ?;7 // 设定参数8 Object[] object {mary_new};9 // 进行查询10 User user jdbcTemplate.queryForObject(sql, object, new UserMapper());11 System.out.println(user);12 } 除此之外要实现结构RowMapper来新建一个映射类 1 package com.spring.test;2 3 import java.sql.ResultSet;4 import java.sql.SQLException;5 6 import org.springframework.jdbc.core.RowMapper;7 8 import com.spring.domain.User;9 10 public class UserMapper implements RowMapperUser{11 12 Override13 public User mapRow(ResultSet resultSet, int rows) throws SQLException {14 User user new User();15 user.setUsername(resultSet.getString(1));16 user.setPassword(resultSet.getString(2));17 18 return user;19 }20 21 } 要注意这个UserMapper.java应该要和具体的Sql语句对应。 4.c. 查询并返回List集合 1 Test2 public void test7() {3 // 获得jdbcTemplate对象4 ApplicationContext ctx new ClassPathXmlApplicationContext(bean.xml);5 JdbcTemplate jdbcTemplate (JdbcTemplate) ctx.getBean(jdbcTemplate);6 7 // sql语句8 String sql select * from user;9 ListUser users jdbcTemplate.query(sql, new UserMapper());10 11 for(User u: users) {12 System.out.println(u);13 }14 }
http://www.pierceye.com/news/77068/

相关文章:

  • 主要给人家做网站的公司网站建设周期表
  • 枣阳做网站设计师作品展示网站
  • 苏格网站建设dw网页设计免费下载
  • 网站建设书模板wordpress4.9.4
  • 微网站建设正规公司岳阳工程造价信息网
  • 兰州门户网站建设汕头市公司黄页
  • 网站数字化建设wordpress插件的开发
  • 南宁市网站建设互联网品牌的快速推广
  • 中国建设部网站四库平台网站开发和网页开发的区别
  • 重庆网站制作1000wordpress自动添加图片alt属性
  • 在线做ppt模板下载网站知名门户网站
  • 大鹏新区住房和建设局网站做网站应该用什么配置的电脑
  • 绿色网站模版凡科快图网页版
  • 网站开发技术选型网站代码查询
  • 公司网站建设设计广西宏泰成建设集团网站
  • 黄岛建网站网页设计与网站建设作品
  • 做的最好的相亲网站有哪些wordpress 判断登录
  • 不知此网站做男人也做的比较好的旅行网站
  • 建立网站需要多少钱一个酷家乐装修设计软件app下载
  • 陕西网站备案查询拖拽建站平台
  • 做网站配送地址怎么变换沧州网页设计百胜
  • 佛山网站建设明细深圳建工集团股份有限公司待遇
  • 手机网站开发技术pdf网站建设注册小程序
  • 济南优化网站的哪家好上海住房和城市建设厅网站
  • 物业公司网站模板这几年做啥网站能致富
  • 贾汪建设局网站用sqlite3做网站
  • 大连企业网站建设模板十大黄金软件app
  • show t团队网站艰涩wordpress study
  • 汕头网站建设方案书win7建设网站
  • 北京建设局网站百度推广代理赚钱