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

网站怎么广告投放市场推广计划方案模板

网站怎么广告投放,市场推广计划方案模板,佛山网站建设 骏域网站,模板王字库下载目录 1.概述 2.mybatis搭建 1.创建一个maven项目#xff0c;添加mybatis、mysql所依赖的jar 2.创建一个数据库表#xff0c;及对应的java类 3.创建一个mybatis的核心配置文件#xff0c;配置数据库连接信息#xff0c;配置sql映射文件 4.创建sql映射文件#xff0c;…目录 1.概述 2.mybatis搭建 1.创建一个maven项目添加mybatis、mysql所依赖的jar 2.创建一个数据库表及对应的java类 3.创建一个mybatis的核心配置文件配置数据库连接信息配置sql映射文件 4.创建sql映射文件定义一个与接口方法名相同的查询语句 5.创建一个访问接口定义一个方法 6.测试 API接口 SqlSessionFactory接口 SqlSession接口 嵌套查询 数据库连接池(缓冲池) 7.单元测试插件 8.参数传递 #{} 和${}区别 9.结果处理 1.简单类型输出映射 2.对象映射 3.特殊处理定义 resultMap 4.多表关联处理结果集 10.Mybatis 动态 SQL if where trim choose set foreach 11.特殊符号处理 12.mybatis一级缓存和二级缓存 一级缓存 二级缓存 1.概述 mybatis是一款优秀的持久层框架 mybatis是对jdbc功能进行轻量级的封装, 提供了统一的数据库信息配置,统一放在一个xml文件中,读取就行 将sql提取到一个xml文件中, 提供了动态sql功能 提供了结果自动映射封装 是一个orm(ORM Object Relational Mapping 对象关系映射)实现,orm指的是,将数居中的记录与java中的对象进行关系映 对jdbc原生接口进行封装,提供了一些mybatis自己的接口和类来实现. servlet(负责接收前端请求 调用其他的java程序处理 响应) web层 service(业务逻辑层) 验证数据 调用dao 结果 组装 服务层(逻辑处理,数据组装) dao(data access Object) jdbc 数据持久层 2.mybatis搭建 1.创建一个maven项目添加mybatis、mysql所依赖的jar 2.创建一个数据库表及对应的java类 3.创建一个mybatis的核心配置文件配置数据库连接信息配置sql映射文件 4.创建sql映射文件定义一个与接口方法名相同的查询语句 5.创建一个访问接口定义一个方法 6.测试 读取配置 Reader reader Resources.getResourceAsReader(mybatis-config.xml); 创建SqlSessionFactory SqlSessionFactory sessionFactory new SqlSessionFactoryBuilder( ).build(reader); 创建SqlSession SqlSession sqlSession sessionFactory.openSession(); 创建接口代理对象 sqlSession.getMapper(接口.class); sqlSession .close(); 调用接口中的方法 执行对应的sql API接口 SqlSessionFactory接口 SqlSessionFactory 用来创建SqlSession只创建一次一旦创建 SqlSessionFactory就在整个应用过程中存在。 SqlSession接口 SqlSession代表和数据库连接会话此接口封装了对数据库的操作方法完成后关闭会话 嵌套查询 将一个多表关联查询拆分为多次查询,先查询主表数据,然后查询关联表数据. resultMap idstudentMap typeStudentid columnid propertyid/idresult columnnum propertynum/resultresult columnname propertyname/resultresult columngender propertygender/result!--将学生关系和操作人信息分别封装到宿舍对象和管理员对象中去 属于嵌套--association propertydorm javaTypeDormresult columndnum propertynum/result/associationassociation propertyadmin javaTypeAdminresult columnaccount propertyaccount/result/association /resultMap resultMap iddormMap typeDormid columnid propertyid/idresult columnnum propertynum/resultcollection propertystudents javaTypelist ofTypeStudentresult columnname propertyname/resultresult columnsnum propertynum/result/collection /resultMap 数据库连接池(缓冲池) 现在每与数据库交互一次创建一个数据库连接对象(Connection,Sql)用完就关闭销毁。下次需要就重复此过程。问题频繁创建销毁对象开销大 思想可以在启动时设置一个容器在里面初始化好一些数据库连接对象有请求到来时可不用每次创建销毁可重复使用减少了频繁创建销毁链接对象的开销。 7.单元测试插件 使某一方法可以独立运行 Testpublic void update() {SqlSession sqlSession MybatisUtil.getSqlSession();StudentDao studentDaosqlSession.getMapper(StudentDao.class);Student studentnew Student();student.setId(1);student.setNum(107);student.setName(qq);studentDao.updateStudent(student);sqlSession.commit();sqlSession.close();} 8.参数传递 单参数直接传递基本类型不需做任何处理 Admin findAdminById(int id); 多参数处理方式 Admin login(Param(acc) String account,Param(pwd) String password); 多参数封装到一个对象中 Admin login1(Admin admin); #{} 和${}区别 #{参数名} 传值是预编译方式更安全主要用于向sql中传值 ${参数名} 主要用来动态的向sql中传列名 传值时是直接将参数拼接到sql中(不建议) 排序 order by ${column} 动态传列名进来 9.结果处理 1.简单类型输出映射 返回简单基本类型 select idadminCount resultTypeintSELECT COUNT(*) FROM admin /select 2.对象映射 mybatis会将查询到的结构自动封装到一个对象中会自己创建给定类型的对象 自动封装结果有条件1.开启了全局的自动结果映射 PARTIAL 默认是单张表开启的2.数据库列名和属性名一样 如果名字不一致不能映射两种解决方法(1)可设置别名使其映射(2)setting namemapUnderscoreToCamelCase valuetrue/ 3.特殊处理定义 resultMap 1.resultMap 的 id 是resultMap 的唯一标识 2.column 是映射查询结果的列名称    property 是类中的属性名称      resultMap idadminMap typeAdminid columnid propertyid/id!--封装映射主键列--result columnadmin_gender propertygender/result /resultMap select idfindAdmins1 resultMapadminMapselect id,account,password,admin_gender from admin /select 4.多表关联处理结果集 注解标签 Insert 插入 sql  Select 查询 sql Update 更新 sql Delete 删除 sql Results 设置结果集合 Result 结果 比如 Delete(delete from student where id#{id})void deleteStudent(int id);Insert(insert into student(num,name,gender)value (#{num},#{name},#{gender}))void saveStudent(Student student);Select(select * from student where id#{id})Results(idstumap,value{Result(id true,column id,property id),Result(column num,property num)})ResultMap(value stumap)Student findStudent(int id); 10.Mybatis 动态 SQL MyBatis 中用于实现动态 SQL 的元素主要有 If、 where、 trim、 set、 choose (when, otherwise)、 foreach if 对传入的条件进行判断 where where 动态根据where标签内的if是否有成立,动态添加where关键宁,还可以去除条件前面的关键宁(anc/ or) 当查询条件的个数不确定时使用where标签当标签中有返回值时就会插入一个我where 若标签返回的内容以and/or开头where标签自动剔除and/or。 trim 当 WHERE 后紧随 AND 或则 OR 的 时候就去除 AND 或者 OR。prefix 前缀prefixOverrides 覆盖首部指定 内容 choose choose\when\otherwise 多个条件选择一个可有多个when select id,num,name,gender from studenttrim prefixwhere prefixOverridesandchoosewhen testnum!0num#{num}/whenwhen testname!nulland name#{name}/whenotherwiseand gender#{gender}/otherwise/choose/trim set set可取去除最后一个逗号 foreach open 表示该语句以什么开始(仅执行一次) separator 表示在每次进行迭代之间以什么符号作为分隔符 close 表示以什么结束(仅执行一次) item 表示集合中每一个元素进行迭代时的别名 index 表一个名字表示在迭代过程中每次迭代到的位置 collection         如果传入的是单参数且参数类型是一个 List 时collection 属性值为 list         如果传入的是单参数且参数类型是一个 array 数组时,collection 的属性值为 array delete iddeleteStudentdelete from student where id inforeach collectionlist itemitem open( separator, close ) #{item}/foreach /delete 11.特殊符号处理 xml属于标记语言类似、、 不能再sql中使用mybatis会报错 解决办法1.转义符号代替 特殊字符   转义字符                    It                    gt                     quot                      apos                    amp delete iddeleteStudentdelete from student where id lt; 10if testid! amp; id10/if /delete 2.使用 ![CDATA[ ]] 进行处理尽量只将特殊符号写在里面 delete iddeleteStudentdelete from student where id ![CDATA[]] 10 /delete 12.mybatis一级缓存和二级缓存 缓存(cache的作用是为了减去数据库的压力提高查询效率。缓存实现的原理是从数据库中查询出来的对象在使用完后不要销毁而是存储在内存缓存中 当再次需要获取该对象时直接从内存缓存中直接获取不再向数据库执行 select 语句从而减少了对数据库的查询次数因此提高了数据库的性能。 一级缓存 一级缓存的作用域是同一个 SqlSession 在同一个 sqlSession 中两次执行相同的 sql 语句第一次执行完毕会将数据库中查询的数据写到缓存内存第二次会从缓存中获取数据不再从数据库查询提高查询效率。当一个 sqlSession结束后该 sqlSession 中的一级缓存就销毁了。 Mybatis 默认开启一级缓存。 一级缓存失效(生命周期) 1. sqlsession.close; 销毁sqlsession对象 2. sqlsession.clearCache; 清楚缓存数据 3. 执行有关增删改操作会清除缓存数据 二级缓存 二级缓存是SqlSessionFactory级别(一个)若将查询到的数据放到二级缓存中可实现多个 SqlSession 共享 当第一次查询到数据后并且关闭Sqlsession时数据被存入到二级缓存中 Mybatis 默认没有开启二级缓存需要配置开启 1.在SqlMapperConfig.xml中启用         setting namecacheEnabled valuetrue/ 2.在Mapper映射文件中启用         cache flushInterval1000”/cache 3.实现序列化接口         将所有的 POJO 类实现序列化接口 Java.io. Serializable
http://www.eeditor.cn/news/121208/

相关文章:

  • 京东网站的建设与发展现状分析手机网站dedecms
  • 保定网站制作哪家好建设wordpress默认密码忘记
  • 做网站怎么办营业执照app开发定制专家公司
  • 做ps找图的网站如何先做网站再绑定域名
  • 小型企业门户网站源码重庆南坪网站建设咨询400
  • 怎么做贷款网站项目网址大全
  • 网站要多少钱可以做问卷赚钱的网站
  • 休闲采摘园网站建设代理加盟网站
  • 网站优化的意义html静态网页首页模板
  • 如何用万网做自己的网站西安网站建设怎么接单
  • 什么网站可以做h5wordpress考试系统
  • 福州seo代运营网站怎么发内容优化
  • 自己做个公司网站百度新闻发布平台
  • 临淄建设局网站织梦做的网站怎么样
  • 集团网站建设服务平台英文专业的网站建设
  • 网站的关键词哪里有微信网站开发公司
  • 做一个网站需要哪些正规淘宝代运营去哪里找
  • 在家用电脑做网站wordpress怎么弹出需要输入
  • 网站首页置顶是怎么做比较好的设计欣赏网站
  • 做公司集团网站咨询公司有哪些
  • 给网站建设提意见如果自己做网站
  • 重庆网站建设招聘信息wordpress自动采集aote
  • 福州制作网站提供商wordpress可以生成静态吗
  • 网站管理员登陆域名怎么修改网站的关键词
  • 广州白云学校网站建设fifa17做任务网站
  • 镇江网站建设流程做网站要几个人 要多少钱
  • 汽车网站建设公司哪家好网站平台项目交接需要什么
  • 中企动力官做网站怎么样做类似58类型网站
  • 网站制作费用 厦门搜索网站存在的关键字
  • 网站是如何做的好建设工程合同指什么