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

海外酒店网站建设招标网址网站大全

海外酒店网站建设,招标网址网站大全,山东建设银行官方网站,做网销的一天都在干嘛目录 一、使用注解开发实现数据库增删改查操作 1、搭建项目 2、使用注解开发操作数据库 二、一级缓存 1、一级缓存失效的情况 三、二级缓存 1、手动开启二级缓存cacheEnabled 2、二级缓存机制 四、MyBatis实现分页 1、配置环境 2、startPage()开启分页 3、PageInfo…目录 一、使用注解开发实现数据库增删改查操作 1、搭建项目 2、使用注解开发操作数据库 二、一级缓存 1、一级缓存失效的情况 三、二级缓存 1、手动开启二级缓存cacheEnabled 2、二级缓存机制 四、MyBatis实现分页 1、配置环境 2、startPage()开启分页 3、PageInfo查询分页信息 1PageInfo对象 2 getList()方法 3getTotal()方法 一、使用注解开发实现数据库增删改查操作 不通过mapper配置文件通过注解实现数据库增删改查操作 1、搭建项目 1创建数据库表admin CREATE DATABASE mybatisdatabase; USE mybatisdatabase; CREATE TABLE IF NOT EXISTS admin( uid INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), upassword VARCHAR(20) NOT NULL, phone VARCHAR(11) UNIQUE NOT NULL, address VARCHAR(10) NOT NULL );INSERT INTO admin(username,upassword,phone,address) VALUES (张三,123456,15689609560,安徽合肥包河区), (王二,666666,13395581841,安徽合肥蜀山区), (李四,456789,18144172517,安徽合肥高新区);2新建module---java框架Maven工程---完善工程目录 3 在pom.xml中添加需要使用的依赖  project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mybatis/groupIdartifactIdmybayis06/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnamemybayis06/nameurlhttp://maven.apache.org/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.11/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.48/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency/dependencies /project4创建实体类和Mapper接口  package com.mybatis.entity;import lombok.Data;Data public class Admin {private long uid;private String username;private String upassword;private String phone;private String address;}5在resources目录下新建config文件存放mybatis全局配置文件和外部数据源   ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 引入外部数据源参数--properties resourceconfig/jdbc.properties/propertiessettings!-- 开启驼峰映射--setting namemapUnderscoreToCamelCase valuetrue/!-- 开启日志打印--setting namelogImpl valueLOG4J//settings!-- 给表起别名--typeAliasespackage namecom.mybatis.entity//typeAliasesenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environmentsmapperspackage namecom.mybatis.mapper//mappers /configuration jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://127.0.0.1:3306/mybatisdatabase jdbc.usernameroot jdbc.password123456 6在resources目录下新建与Mapper接口层级相同的文件夹存放Mapper映射文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.mybatis.mapper.AdminMapper/mapper 7在resources目录下添加日志配置文件log4j.properties  #打印日志的级别可控制打印信息哪些打印哪些不打印 #Console打印窗口 log4j.rootLoggerDEBUG,Console #Console log4j.appender.Consoleorg.apache.log4j.ConsoleAppender log4j.appender.console.TargetSystem.out #设置打印格式 log4j.appender.Console.layoutorg.apache.log4j.PatternLayout #设置打印信息 log4j.appender.Console.layout.ConversionPattern%d [%t] %-5p [%c] - %m%n #打印日志级别设置打印级别只要不是ERROR级别就不打印 log4j.logger.org.apacheERROR log4j.logger.org.mybatisERROR log4j.logger.org.springframeworkERROR #这个需要 log4j.logger.log4jdbc.debugERROR log4j.logger.com.gk.mapperERROR log4j.logger.jdbc.auditERROR log4j.logger.jdbc.resultsetERROR #这个打印SQL语句非常重要 log4j.logger.jdbc.sqlonlyDEBUG log4j.logger.jdbc.sqltimingERROR log4j.logger.jdbc.connectionFATAL 2、使用注解开发操作数据库 在Mapper接口的方法上直接使用相应的注解来完成对数据库的操作 package com.mybatis.mapper;import com.mybatis.entity.Admin; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update;import java.util.List;public interface AdminMapper {Select(select * from admin where uid #{uid})public Admin selectByUid(int uid);Select(select * from admin)public ListAdmin selectAll();Insert(insert into admin(username,upassword,phone,address) values (#{username},#{upassword},#{phone},#{address}))public Integer insert(Admin admin);Delete(delete from admin where uid #{uid})public Integer delete(int uid);Update(update admin set username #{username},upassword #{upassword},phone #{phone},address #{address} where uid #{uid})public Integer update(Admin admin); }package com.mybatis.mapper;import com.mybatis.entity.Admin; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test;import java.io.IOException; import java.io.InputStream; import java.util.List;import static org.junit.Assert.*;public class AdminMapperTest {SqlSessionFactory sqlSessionFactory null;Beforepublic void init(){InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(config/mybatis-config.xml);} catch (IOException e) {e.printStackTrace();}sqlSessionFactory new SqlSessionFactoryBuilder().build(resourceAsStream);}Testpublic void selectByUid() {//创建sqlSession会话SqlSession sqlSession sqlSessionFactory.openSession();//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//通过接口调用方法Admin admin mapper.selectByUid(1);System.out.println(admin admin);//关闭资源sqlSession.close();}Testpublic void selectAll() {//创建sqlSession会话SqlSession sqlSession sqlSessionFactory.openSession();//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//通过接口调用方法ListAdmin adminList mapper.selectAll();for (Admin admin : adminList) {System.out.println(admin admin);}//关闭资源sqlSession.close();}Testpublic void insert() {//创建sqlSession会话,开启事务自动提交SqlSession sqlSession sqlSessionFactory.openSession(true);//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//创建Admin对象Admin admin new Admin();admin.setUsername(老六);admin.setUpassword(666666);admin.setPhone(19144756263);admin.setAddress(老北京);//通过接口调用方法Integer line mapper.insert(admin);System.out.println(line line);//关闭资源sqlSession.close();}Testpublic void delete() {//创建sqlSession会话,开启事务自动提交SqlSession sqlSession sqlSessionFactory.openSession(true);//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//通过家口调用方法Integer line mapper.delete(2);System.out.println(line line);//关闭资源sqlSession.close();}Testpublic void update() {//创建sqlSession会话,开启事务自动提交SqlSession sqlSession sqlSessionFactory.openSession(true);//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//创建Admin对象Admin admin new Admin();admin.setUsername(老马);admin.setUpassword(666666);admin.setPhone(18874151577);admin.setAddress(安徽芜湖);admin.setUid(3);//通过接口调用方法Integer line mapper.update(admin);System.out.println(line line);//关闭资源sqlSession.close();} } 二、一级缓存 MyBatis一级缓存是默认开启的在一次SqlSession会话下有效。执行两次相同查询时为了缓解服务器的压力第二次的查询结果来自MyBatis的缓存不再将查询指向数据库 package com.mybatis.mapper;import com.mybatis.entity.Admin; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test;import java.io.IOException; import java.io.InputStream; import java.util.List;public class SelectTest {SqlSessionFactory sqlSessionFactory null;Beforepublic void init(){InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(config/mybatis-config.xml);} catch (IOException e) {e.printStackTrace();}sqlSessionFactory new SqlSessionFactoryBuilder().build(resourceAsStream);}Testpublic void selectAll() {//创建sqlSession会话SqlSession sqlSession sqlSessionFactory.openSession();//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//通过接口调用方法//第一次查询ListAdmin adminList mapper.selectAll();for (Admin admin : adminList) {System.out.println(admin admin);}//第二次查询ListAdmin adminList1 mapper.selectAll();System.out.println(adminList1 adminList1);//关闭资源sqlSession.close();} }在程序中调用了两次selectAll()方法却只执行了一次SQL语句 1、一级缓存失效的情况 1执行的查询条件不同或者SQL语句不同 2两次相同的SQL语句查询之间做了增删改的操作 3手动提交事务也会清空一级缓存 4手动清空缓存clearCache()  三、二级缓存 一级缓存只在一次SqlSession会话有效为进一步扩大数据共享的范围缓解数据库的压力可手动开启MyBatis二级缓存 写入二级缓存的实例对象需要实现序列化接口 1、手动开启二级缓存cacheEnabled 在MyBatis全局配置文件中设置setting标签 cacheEnabled全局性地开启或关闭所有映射器配置文件中已配置的任何缓存 !-- 全局开启二级缓存--setting namecacheEnabled valuetrue/ 在mapper映射文件中添加cache标签  2、二级缓存机制 1手动提交事务会将一级缓存写入二级缓存 2SqlSession会话对象关闭时会将一级缓存写入二级缓存。 四、MyBatis实现分页 1、配置环境 1在pom.xml中引入pagehelper依赖  dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper/artifactIdversion5.3.2/version/dependency 2在mybatis全局配置文件中添加plugins标签 pluginsplugin interceptorcom.github.pagehelper.PageInterceptor/plugin/plugins 2、startPage()开启分页 在调用方法查询记录之前调用PageHelper类中的startPage()方法开启分页         pageNum当前页码         pageSize每页显示的数量 3、PageInfo查询分页信息 1PageInfo对象 创建PageInfo对象PageInfo有参构造的参数为查询获取的集合直接输出PageInfo对象为分页信息导航 2 getList()方法 获取当前页面的分页信息  3getTotal()方法 总记录数  package com.mybatis.mapper;import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.mybatis.entity.Admin; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.Test;import java.io.IOException; import java.io.InputStream; import java.util.List;public class SelectTest {SqlSessionFactory sqlSessionFactory null;Beforepublic void init(){InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(config/mybatis-config.xml);} catch (IOException e) {e.printStackTrace();}sqlSessionFactory new SqlSessionFactoryBuilder().build(resourceAsStream);}Testpublic void selectAll() {//创建sqlSession会话SqlSession sqlSession sqlSessionFactory.openSession();//获取AdminMapper接口动态代理对象AdminMapper mapper sqlSession.getMapper(AdminMapper.class);//开启分页//pageNum当前页码pageSize每页显示数量PageHelper.startPage(1,5);//通过接口调用方法ListAdmin adminList mapper.selectAll();for (Admin admin : adminList) {System.out.println(admin admin);}PageInfoAdmin adminPageInfo new PageInfo(adminList);System.out.println(adminPageInfo adminPageInfo);long total adminPageInfo.getTotal();System.out.println(total total);ListAdmin list adminPageInfo.getList();System.out.println(list list);//关闭资源sqlSession.close();} }
http://www.yingshimen.cn/news/107958/

相关文章:

  • 做ppt兼职网站西安 网站开发 招聘
  • 新加坡购物网站排名哈尔滨模板建站哪个品牌好
  • 天眼官方网站游戏开发成本
  • 江门网站优化网站建设空间选择的重要性
  • 网站域名如何实名认证商业网站开发实训报告总结
  • 做网站域名要自己注册吗漳州市网站建设价格
  • 国外哪些网站做产品推广比较好怎么挑选网站建设公司
  • 自己建网站需要什么查询建筑企业网站
  • 泉州网站建设公司网件路由器无线中继
  • 青岛网站制作公司网络旅游网站建设的课题研究的主要内容
  • 用asp.net做的 购物网站视频东莞网站建设哪家
  • 几百块钱建网站竞价排名点击器
  • 盛泽网站建设网站先做前端还是后台
  • 自做网站多少钱中企动力总部在哪里
  • 网站开发 问题解决抖音搜索关键词排名查询
  • 建设集团网站报告书常德公司网站建设
  • 松原市建设局网站投诉中心网页工具栏怎么显示出来
  • 手机网站技术方案WordPress纯代码添加
  • 郴州网络科技有限公司泉州seo管理
  • 网站地图生成工具最新设计网站大全
  • wordpress 多站点方法wordpress制作小工具
  • 网站建设内容的重点如何在外管局网站上做a合同
  • 公司网站建设须知xml天气预报网站怎么做
  • 无忧网站优化湖南软件开发公司
  • 广州有名的网站建设公司如何做网站的百科
  • 二手车网站开发背景海东地网站建设
  • 广西上林县住房城乡建设网站重庆公司注册核名查询系统
  • 中国建设银行的网站用户名是什么扬州网站开发公司
  • 做网站计划表asp做微网站设计
  • 网上如何做网站网站关键词的选择