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

用php做美食网站有哪些整合营销传播论文

用php做美食网站有哪些,整合营销传播论文,网站优化软件开发,wordpress更换域名图片不显示目录 1.MyBatis的简单介绍 2.MyBatis操作数据库的步骤 2.1 添加依赖 2.2 配置文件 2.3 写持久层代码 2.4 方法测试 3.MyBatis操作数据库(增删查改) 3.1 CRUD标签 3.2 参数传递 3.3 Insert-新增 3.4 Delete-删除 3.5 Update-修改 3.6 Select-查询(映射问题) 1.MyB…目录 1.MyBatis的简单介绍 2.MyBatis操作数据库的步骤 2.1 添加依赖 2.2 配置文件 2.3 写持久层代码 2.4 方法测试 3.MyBatis操作数据库(增删查改) 3.1 CRUD标签 3.2 参数传递 3.3 Insert-新增 3.4 Delete-删除 3.5 Update-修改 3.6 Select-查询(映射问题)  1.MyBatis的简单介绍 MyBatis是一款持久层框架(持久层指持久化操作的层通常指数据访问层dao)简单来说使用MyBatis能够更简单地完成程序和数据库之间的交互 2.MyBatis操作数据库的步骤 2.1 添加依赖 首先需要导入MyBatis依赖和MySQL驱动依赖(添加到pom.xml文件中) dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency 2.2 配置文件 我们需要配置Mysql数据库信息MyBatis日志打印和MyBatis XML的文件路径数据库信息用于和指定数据库进行连接MyBatis日志用于查看SQL语句的执行传递的参数以及执行结果(MyBatis日志打印的配置不是必须的如果不需要在配置文件中删除相关配置信息即可)MyBatis XML文件路径(以下面的配置内容为例)用于声明在resources/mapper下创建所有的XML文件 如果是application.yml文件配置以下内容 # 配置Mysql数据库信息 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncodingutf8useSSLfalse# url中的mybatis_test替换为自己的数据库名username: root #数据库用户名password: root #数据库密码(如果没设置密码默认为root如果有的话需要修改例如123456)driver-class-name: com.mysql.cj.jdbc.Driver # 配置打印 MyBatis⽇志 mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 配置MyBatis XML文件路径mapper-locations: classpath:mapper/**Mapper.xml 如果是application.properties文件配置以下内容 # 配置Mysql数据库信息 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncodingutf8useSSLfalse # 上面url中的mybatis_test替换为自己的数据库名 spring.datasource.usernameroot #数据库用户名 spring.datasource.passwordroot #数据库密码(如果没设置密码默认为root如果有的话需要修改例如123456) # 配置MyBatis日志 mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl # 配置MyBatis XML文件路径 mybatis.mapper-locationsclasspath:mapper/**Mapper.xml 2.3 写持久层代码 持久层代码分为两个部分分别是方法定义(接口interface)和方法实现(**.xml) 1方法定义(UserInfoXMLMapper接口) Mapper表示MyBatis中的Mapper接口程序运行时会自动生成接口的代理对象并交给Spring的IoC容器管理 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; import org.example.mybatisdemo.model.UserInfo; import java.util.List; Mapper public interface UserInfoXMLMapper {ListUserInfo queryUserInfos(); } 2方法实现(UserInfoXMLMapper.xml根据MyBatis XML文件路径创建路径为resources/mapper/UserInfoXMLMapper.xml) mapper标签表示命名空间需要指定namespace属性值为Mapper接口的全限定名(全包名.类名) ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapper !-- sql语句的具体实现-- /mapper 2.4 方法测试 package org.example.mybatisdemo.mapper; import org.example.mybatisdemo.model.UserInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest //在Spring的运行环境下进行测试 class UserInfoXMLMapperTest {Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;Testvoid queryUserInfos() {//具体测试代码} } 3.MyBatis操作数据库(增删查改) 3.1 CRUD标签 CRUD标签即insertdeleteselectupdate四个标签用于在方法实现的mapper标签中实现具体的SQL语句以select为例 select执行数据库的查询操作id与接口中的定义的方法名称相同表示对接口的具体实现方法resultType返回的数据类型值为该类型的全限定名 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperselect idqueryUserInfos resultTypeorg.example.mybatisdemo.model.UserInfoselect * from userinfo/select /mapper 3.2 参数传递 当我们执行条件查询时等SQL语句时需要在SQL语句中对表指定属性赋值这时可以使用#{ }的方式来获取方法中的参数拼接到SQL语句中从而得到完整的SQL语句括号中的参数名称与方法中的参数名称最好相同(当然也可以不相同下面会说到) //UserInfoXMLMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperselect idqueryUserInfos resultTypeorg.example.mybatisdemo.model.UserInfoselect * from userinfo where id#{id} and age#{age} --获取id和age参数,分别赋值-最终执行SQL语句为select * from userinfo where id1 and age18/select /mapper//UserInfoXMLMapper接口 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; import org.example.mybatisdemo.model.UserInfo; import java.util.List; Mapper public interface UserInfoXMLMapper {ListUserInfo queryUserInfos(UserInfo userInfo); }//方法测试代码 package org.example.mybatisdemo.mapper; import org.example.mybatisdemo.model.UserInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest class UserInfoXMLMapperTest {Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;Testvoid queryUserInfos() {UserInfo userInfonew UserInfo();userInfo.setId(1);userInfo.setAge(18);userInfoXMLMapper.queryUserInfos(userInfo).forEach(System.out::println);} } 如果需要使括号中的参数名称与方法中的参数名称不相同可以通过Param设置参数的别名同时使用#{ }获取参数时括号中的参数名称要与别名相同 //UserInfoXMLMapper接口 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.example.mybatisdemo.model.UserInfo; import java.util.List; Mapper public interface UserInfoXMLMapper {ListUserInfo queryUserInfos(Param(userid) Integer id); }//UserInfoXMLMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperselect idqueryUserInfos resultTypeorg.example.mybatisdemo.model.UserInfoselect * from userinfo where id#{userid} /select /mapper 3.3 Insert-新增 //UserInfoXMLMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperinsert idinsertUserInfoinsert into userinfo (username,password,age) values (#{userName},#{password},#{age})/insert /mapper//UserInfoXMLMapper接口 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; import org.example.mybatisdemo.model.UserInfo; Mapper public interface UserInfoXMLMapper {Integer insertUserInfo(UserInfo userInfo); }//方法测试代码 package org.example.mybatisdemo.mapper; import org.example.mybatisdemo.model.UserInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest class UserInfoXMLMapperTest {Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;Testvoid insertUserInfo() {UserInfo userInfo new UserInfo();userInfo.setUserName(wangliu);userInfo.setPassword(123456);userInfo.setAge(18);userInfoXMLMapper.insertUserInfo(userInfo);} } 接口定义不变时在XML文件设置useGeneratedKeys和keyProperty属性可以返回自增的表属性 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperinsert idinsertUserInfo useGeneratedKeystrue keyPropertyid--返回自增的id属性insert into userinfo (username,password,age) values (#{userName},#{password},#{age})/insert /mapper 3.4 Delete-删除 //UserInfoXMLMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperdelete iddeleteUserInfodelete from userinfo where id#{id}/delete /mapper//UserInfoXMLMapper接口 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; Mapper public interface UserInfoXMLMapper {Integer deleteUserInfo(Integer id); }//方法测试代码 package org.example.mybatisdemo.mapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest class UserInfoXMLMapperTest {Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;Testvoid deleteUserInfo() {userInfoXMLMapper.deleteUserInfo(10);} } 3.5 Update-修改 //UserInfoXMLMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperupdate idupdateUserInfoupdate userinfo set username#{userName} where id#{id}/update /mapper//UserInfoXMLMapper类 package org.example.mybatisdemo.mapper; import org.apache.ibatis.annotations.Mapper; import org.example.mybatisdemo.model.UserInfo; Mapper public interface UserInfoXMLMapper {Integer updateUserInfo(UserInfo userInfo); }//方法测试代码 package org.example.mybatisdemo.mapper; import org.example.mybatisdemo.model.UserInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest class UserInfoXMLMapperTest {Autowiredprivate UserInfoXMLMapper userInfoXMLMapper;Testvoid updateUserInfo() {UserInfo userInfo new UserInfo();userInfo.setUserName(zhangliu);userInfo.setId(9);userInfoXMLMapper.updateUserInfo(userInfo);} } 3.6 Select-查询(映射问题)  在参数传递(3.2节)已经举了一个关于查询操作的例子这里便不再举例虽然在这个例子中代码能够正常运行但是当我们仔细观察运行结果会发现一些问题。以下是该例子运行结果的截图(与参数传递中的截图一致) 我们会发现有几个属性没有赋值(表中该条数据不存在为null的属性)这是因为自动映射查询结果时MyBatis会获取结果中返回的列名属性并在Java类中查找相同名称的属性(忽略大小写)而delete_flagcreate_time等列名属性与Java类(这里指UserInfo类)中的deleteFlagcreateTime等属性名称不同所以会返回null。这时只需要参照列名属性修改一下Java类中的属性名称就可以得到正确结果当然如果不想修改属性名称有三种方式可以解决这个问题分别是起别名结果映射和开启驼峰别名 1起别名 在SQL语句中给列名起别名(as)使别名和Java类中属性名称保持相同接口和方法测试代码与例子中一致 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperselect idqueryUserInfos resultTypeorg.example.mybatisdemo.model.UserInfoselect id,username,password,age,gender,phone,delete_flag as deleteFlag,create_time as createTime,update_time as updateTimefrom userinfo where id#{id} and age#{age}/select /mapper !--接口和方法测试代码与例子中一致-- 2结果映射 id(resultMap标签)resultMap别名type映射的实体类id标签表示主键column(result标签)数据库列名属性property(result标签)Java类属性名 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespaceorg.example.mybatisdemo.mapper.UserInfoXMLMapperresultMap idXMLBaseMap typeorg.example.mybatisdemo.model.UserInfoid columnid propertyid/idresult columndelete_flag propertydeleteFlag/resultresult columncreate_time propertycreateTime/resultresult columnupdate_time propertyupdateTime/result/resultMapselect idqueryUserInfos resultMapXMLBaseMapselect * from userinfo where id#{id} and age#{age}/select /mapper !--接口和方法测试代码与例子中一致-- 3开启驼峰命名 数据库列名一般使用蛇形命名法进行命名(下划线分割各个单词)而Java属性一般遵循驼峰命名法约定要在这两种命名方式之间启用自动映射(delete_flag→deleteFlag)需要配置一下配置文件 如果是application.yml文件配置以下内容 mybatis:configuration:map-underscore-to-camel-case: true #配置驼峰⾃动转换 如果是application.properties文件配置以下内容 #配置驼峰自动转换 mybatis.configuration.map-underscore-to-camel-case: true
http://www.dnsts.com.cn/news/103721.html

相关文章:

  • 网站建设培训赚钱吗新手用jsp做网站
  • 千万别去电商公司上班百度排名优化咨询电话
  • 江阳建设集团网站旅游网站建设方案简介
  • 阿里巴巴上做网站达内学网站开发培训课程
  • 网站建设首选九零后网络快速建站视频
  • 中国电商网站排行榜郑州购物网站建设
  • 北京网站建设还公司做网站和APP需要多少钱
  • 织梦网站后台登陆河南企业建站系统信息
  • 网站开发最流行的语言建网站有哪些文件夹
  • 做网站的外包能学到什么python云服务器网站开发实例
  • 网站seo收录工具网站设置默认首页
  • 湖南专业建站按效果付贿小众电商平台有哪些
  • 门窗厂家东莞网站建设wordpress网站如何提速
  • 怎样看一个网站的信息吗快手app下载安装免费下载
  • 网站建设丷金手指专业十五wordpress文章随机缩略图
  • 做网站需要买ip地址吗互联网公司薪资待遇
  • wordpress站群主题网络实施方案
  • 江西省建设厅教育网站上查询电商网站 服务器
  • 专业制作门户型网站公司网页设计作品
  • 如何给一个网站做定时的更新dedecms 做网站
  • 深圳网站建设软件开发公司排名wordpress插件装多了卡
  • 做高仿网站开发网站公司名称
  • 网站模板 源码之家优化关键词排名工具
  • 南京专业做网站的公司有哪些京东pc网站用什么做的
  • 网站seo推广计划怎样将网站开发说清楚
  • 工作站学校网站建设工作会议
  • 网站重新设计韩雪个人网站
  • 成都网站建设小公司宜昌做网站优化
  • 网站的设计方法有哪些内容安徽网站建设推荐-晨飞网络
  • 网站后台备份丢失晋城网站建设