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

网站开发域名注册新建网站百度怎么收录

网站开发域名注册,新建网站百度怎么收录,网站开发与设计实训,字节跳动员工待遇整合思路 1、SqlSessionFactory对象应该放到spring容器中作为单例存在。 2、传统dao的开发方式中#xff0c;应该从spring容器中获得sqlsession对象。 3、Mapper代理形式中#xff0c;应该从spring容器中直接获得mapper的代理对象。 4、数据库的连接以及数据库连接池事务…整合思路 1、SqlSessionFactory对象应该放到spring容器中作为单例存在。 2、传统dao的开发方式中应该从spring容器中获得sqlsession对象。 3、Mapper代理形式中应该从spring容器中直接获得mapper的代理对象。 4、数据库的连接以及数据库连接池事务管理都交给spring容器来完成。 整合需要的jar包 1、spring的jar包 2、Mybatis的jar包 3、Springmybatis的整合包。 4、Mysql的数据库驱动jar包。 5、数据库连接池的jar包。 配置文件 SqlMapConfig.xml 配置文件是SqlMapConfig.xml如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 设置别名 --typeAliases!-- 2. 指定扫描包会把包内所有的类都设置别名别名的名称就是类名大小写不敏感 --package namecn.itcast.mybatis.pojo //typeAliases/configurationapplicationContext.xml SqlSessionFactoryBean属于mybatis-spring这个jar包 如何查看SqlSessionFactoryBean源码 对于spring来说mybatis是另外一个架构需要整合jar包。 在项目中加入mybatis-spring-1.2.2.jar的源码如下图 效果如下图所示图标变化表示源码加载成功 整合Mybatis需要的是SqlSessionFactoryBean位置如下图 applicationContext.xml配置内容如下 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/context xmlns:phttp://www.springframework.org/schema/pxmlns:aophttp://www.springframework.org/schema/aop xmlns:txhttp://www.springframework.org/schema/txxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd!-- 加载配置文件 --context:property-placeholder locationclasspath:db.properties /!-- 数据库连接池 --bean iddataSource classorg.apache.commons.dbcp.BasicDataSourcedestroy-methodcloseproperty namedriverClassName value${jdbc.driver} /property nameurl value${jdbc.url} /property nameusername value${jdbc.username} /property namepassword value${jdbc.password} /property namemaxActive value10 /property namemaxIdle value5 //bean!-- 配置SqlSessionFactory --bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBean!-- 配置mybatis核心配置文件 --property nameconfigLocation valueclasspath:SqlMapConfig.xml /!-- 配置数据源 --property namedataSource refdataSource //bean /beansdb.properties jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/mybatis?characterEncodingutf-8 jdbc.usernameroot jdbc.passwordrootlog4j.properties # Global logging configuration log4j.rootLoggerDEBUG, stdout # Console output... log4j.appender.stdoutorg.apache.log4j.ConsoleAppender log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern%5p [%t] - %m%n效果 Dao的开发 两种dao的实现方式 1、原始dao的开发方式 2、使用Mapper代理形式开发方式 a) 直接配置Mapper代理 b) 使用扫描包配置Mapper代理需求 1. 实现根据用户id查询 2. 实现根据用户名模糊查询 3. 添加用户 创建pojo public class User {private int id;private String username;// 用户姓名private String sex;// 性别private Date birthday;// 生日private String address;// 地址get/set。。。 }传统dao的开发方式 原始的DAO开发接口实现类来完成。 需要dao实现类需要继承SqlsessionDaoSupport类 实现Mapper.xml 编写User.xml配置文件如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacetest!-- 根据用户id查询 --select idqueryUserById parameterTypeint resultTypeuserselect * from user where id #{id}/select!-- 根据用户名模糊查询用户 --select idqueryUserByUsername parameterTypestringresultTypeuserselect * from user where username like %${value}%/select!-- 添加用户 --insert idsaveUser parameterTypeuserselectKey keyPropertyid keyColumnid orderAFTERresultTypeintselect last_insert_id()/selectKeyinsert into user(username,birthday,sex,address)values(#{username},#{birthday},#{sex},#{address})/insert/mapper加载Mapper.xml 在SqlMapConfig如下图进行配置: 实现UserDao接口 public interface UserDao {/*** 根据id查询用户* * param id* return*/User queryUserById(int id);/*** 根据用户名模糊查询用户列表* * param username* return*/ListUser queryUserByUsername(String username);/*** 保存* * param user*/void saveUser(User user);}实现UserDaoImpl实现类 编写DAO实现类实现类必须集成SqlSessionDaoSupport SqlSessionDaoSupport提供getSqlSession()方法来获取SqlSession public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {Overridepublic User queryUserById(int id) {// 获取SqlSessionSqlSession sqlSession super.getSqlSession();// 使用SqlSession执行操作User user sqlSession.selectOne(queryUserById, id);// 不要关闭sqlSessionreturn user;}Overridepublic ListUser queryUserByUsername(String username) {// 获取SqlSessionSqlSession sqlSession super.getSqlSession();// 使用SqlSession执行操作ListUser list sqlSession.selectList(queryUserByUsername, username);// 不要关闭sqlSessionreturn list;}Overridepublic void saveUser(User user) {// 获取SqlSessionSqlSession sqlSession super.getSqlSession();// 使用SqlSession执行操作sqlSession.insert(saveUser, user);// 不用提交,事务由spring进行管理// 不要关闭sqlSession} }配置dao 把dao实现类配置到spring容器中如下图 测试方法 创建测试方法可以直接创建测试Junit用例。 如下图所示进行创建。 编写测试方法如下 public class UserDaoTest { private ApplicationContext context; Before public void setUp() throws Exception {this.context new ClassPathXmlApplicationContext(classpath:applicationContext.xml); }Test public void testQueryUserById() {// 获取userDaoUserDao userDao this.context.getBean(UserDao.class);User user userDao.queryUserById(1);System.out.println(user); }Test public void testQueryUserByUsername() {// 获取userDaoUserDao userDao this.context.getBean(UserDao.class);ListUser list userDao.queryUserByUsername(张);for (User user : list) {System.out.println(user);} }Test public void testSaveUser() {// 获取userDaoUserDao userDao this.context.getBean(UserDao.class);User user new User();user.setUsername(曹操);user.setSex(1);user.setBirthday(new Date());user.setAddress(三国);userDao.saveUser(user);System.out.println(user); }} Mapper代理形式开发dao 编写UserMapper.xml配置文件如下 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.itcast.mybatis.mapper.UserMapper!-- 根据用户id查询 --select idqueryUserById parameterTypeint resultTypeuserselect * from user where id #{id}/select!-- 根据用户名模糊查询用户 --select idqueryUserByUsername parameterTypestringresultTypeuserselect * from user where username like %${value}%/select!-- 添加用户 --insert idsaveUser parameterTypeuserselectKey keyPropertyid keyColumnid orderAFTERresultTypeintselect last_insert_id()/selectKeyinsert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})/insert /mapper实现UserMapper接口 public interface UserMapper {/*** 根据用户id查询* * param id* return*/User queryUserById(int id);/*** 根据用户名模糊查询用户* * param username* return*/ListUser queryUserByUsername(String username);/*** 添加用户* * param user*/void saveUser(User user); }方式一配置mapper代理 在applicationContext.xml添加配置 MapperFactoryBean也是属于mybatis-spring整合包 !-- Mapper代理的方式开发方式一配置Mapper代理对象 -- bean iduserMapper classorg.mybatis.spring.mapper.MapperFactoryBean!-- 配置Mapper接口 --property namemapperInterface valuecn.itcast.mybatis.mapper.UserMapper /!-- 配置sqlSessionFactory --property namesqlSessionFactory refsqlSessionFactory / /bean测试方法 public class UserMapperTest {private ApplicationContext context;Beforepublic void setUp() throws Exception {this.context new ClassPathXmlApplicationContext(classpath:applicationContext.xml);}Testpublic void testQueryUserById() {// 获取MapperUserMapper userMapper this.context.getBean(UserMapper.class);User user userMapper.queryUserById(1);System.out.println(user);}Testpublic void testQueryUserByUsername() {// 获取MapperUserMapper userMapper this.context.getBean(UserMapper.class);ListUser list userMapper.queryUserByUsername(张);for (User user : list) {System.out.println(user);}}Testpublic void testSaveUser() {// 获取MapperUserMapper userMapper this.context.getBean(UserMapper.class);User user new User();user.setUsername(曹操);user.setSex(1);user.setBirthday(new Date());user.setAddress(三国);userMapper.saveUser(user);System.out.println(user);} }方式二扫描包形式配置mapper !-- Mapper代理的方式开发方式二扫描包方式配置代理 -- bean classorg.mybatis.spring.mapper.MapperScannerConfigurer!-- 配置Mapper接口 --property namebasePackage valuecn.itcast.mybatis.mapper / /bean每个mapper代理对象的id就是类名首字母小写 练习代码保存 applicationContext.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/context xmlns:phttp://www.springframework.org/schema/pxmlns:aophttp://www.springframework.org/schema/aop xmlns:txhttp://www.springframework.org/schema/txxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd!-- 加载配置文件 --context:property-placeholder locationclasspath:db.properties /context:component-scan base-packagecom.itcast.dao/context:component-scan!-- 数据库连接池 --bean iddataSource classorg.apache.commons.dbcp.BasicDataSourcedestroy-methodcloseproperty namedriverClassName value${jdbc.driver} /property nameurl value${jdbc.url} /property nameusername value${jdbc.username} /property namepassword value${jdbc.password} /property namemaxActive value10 /property namemaxIdle value5 //bean!-- 配置SqlSessionFactory --bean namesqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBean!-- 配置mybatis核心配置文件 --property nameconfigLocation valueclasspath:SqlMapConfig.xml /!-- 依赖注入 -配置数据源 --property namedataSource refdataSource //bean!-- 原始DAO开发 配置UserDaoImpl --bean nameuserDao classcom.itcast.dao.UserDaoImpl!-- 配置sqlSessionFactory --property namesqlSessionFactory refsqlSessionFactory/property/bean!-- mybatis中mapper动态代理 --!-- bean namemapperFactoryBean classorg.mybatis.spring.mapper.MapperFactoryBeanproperty namesqlSessionFactory refsqlSessionFactory/propertyproperty namemapperInterface valuecom.itcast.mapper.mapper //bean --!-- 增强版mapper动态代理 --bean classorg.mybatis.spring.mapper.MapperScannerConfigurer!-- 此时不需要写得到sqlSessionFactory因为sqlsessionfactory配置在spring容器当中它自动会去找 --property namebasePackage valuecom.itcast.mapper/property/bean /beansmapper动态代理代码 SqlMapConfig.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 设置别名 --typeAliases!-- 2. 指定扫描包会把包内所有的类都设置别名别名的名称就是类名大小写不敏感 --package namecom.itcast.dao //typeAliasesmappersmapper resourceUserMapper.xml/!-- 当DAO用传统的DAO开发的时候不能用其他的方式导入mapper.xml文件只能用package --package namecom.itcast.mapper//mappers /configurationmapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.itcast.mapper.mapper!-- 通过ID查询一个用户 --select idqueryUserById parameterTypeInteger resultTypecom.itcast.pojo.User!-- include refidselector/include --select * from user where id #{id}/select /mapper mapper.java package com.itcast.mapper1;import com.itcast.pojo1.User;public interface mapper {public User queryUserById(Integer id); }原始DAO开发方式代码 UserDao.java package com.itcast.dao;import com.itcast.pojo1.User;public interface UserDao {public User queryUserById(Integer id);public Integer countUser(); }UserDaoImpl.java package com.itcast.dao;import org.apache.ibatis.session.SqlSession; import org.mybatis.spring.support.SqlSessionDaoSupport;import com.itcast.pojo1.User;public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {Overridepublic User queryUserById(Integer id) {SqlSession session super.getSqlSession();User user session.selectOne(queryUserById, id);return user;}Overridepublic Integer countUser() {SqlSession session super.getSqlSession();Integer s session.selectOne(countUser);return s;} }测试类 package com.itcast.test;import javax.annotation.Resource;import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;import com.itcast.dao.UserDao; import com.itcast.mapper1.mapper; import com.itcast.pojo1.User; /*RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classpath:applicationContext.xml)*/ public class TestUserDaoDemo1 {Resource(nameuserDao)public UserDao userDao;private ApplicationContext context;/*传统DAO开发方式*/Testpublic void testDemo() {this.context new ClassPathXmlApplicationContext(classpath:applicationContext.xml);UserDao userDao (UserDao) context.getBean(userDao);User user userDao.queryUserById(1);System.out.println(user);}/*mapper动态代理不需要写实现类只需要写接口即可*/Testpublic void testDemo1() {this.context new ClassPathXmlApplicationContext(classpath:applicationContext.xml);UserDao userDao (UserDao) context.getBean(userDao);Integer s userDao.countUser();System.out.println(s);}/*mapper动态代理增强版解决了上述方式中多个mapper文件都需要手动导入*/Testpublic void testDemo2() {this.context new ClassPathXmlApplicationContext(classpath:applicationContext.xml);/*有两种方式可以加载mapper 通过文件名字或者是mapper.class*/mapper bean (mapper) context.getBean(mapper);User user bean.queryUserById(1);System.out.println(user);} }
http://wiki.neutronadmin.com/news/39779/

相关文章:

  • 网站模板免费下载php有什么免费的wordpress
  • 优才网站建设简单网页制作html
  • 建设企业高端网站专业商城网站设计
  • 东莞非凡网站建设网站制作的相关术语
  • 做公司+网站建设价格网站 使用的字体
  • 邯郸网站设计哪家好建设银行网站理财产品为何不让买
  • 接帮人家做网站的网站濮阳网站建设电话
  • 深圳网站设计 三把火科技注册安全工程师有什么用
  • 网站上传文件夹软件定制图片
  • 网站系统繁忙是什么意思临沂网站建设培训
  • 网站页脚设计一个学校怎么制作网站
  • 西安公司网站制作价格网站建设全程揭秘 课件下载
  • 墙膜 东莞网站建设客户网站留言
  • 手机 网站 模板哈尔滨做公司网站的公司有哪些
  • 互动型网站做网站销售一个星期的计划
  • 网站建设相关制度南京前十名传媒广告公司
  • 商城网站建设多少钱网站文章更新频率
  • 自建站推广方式php伪静态网站破解
  • 唐山哪个公司做网站wordpress 5.0.1编辑器
  • 淄博桓台网站建设报价府网站建设运维情况自查报告
  • 电商网站建设源码巩义网络建设网站
  • 公司网站备案条件专业制作网站服务
  • 合网站建设网站收录怎么弄
  • 清远专业网站制作公司唐山做网站优化公司
  • 做网站图片格式北京网页设计师工资有多少
  • 服装设计网站大全免费推广平台有哪些 请一一例举
  • 北京个人网站设计app软件免费下载安装最新版
  • 网站建设 百度云长春中企动力怎么样
  • 网络型网站分为合肥免费做网站
  • 行业网站设计公司网站域名变更怎么查询