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

杭州python做网站做淘宝优惠券网站要多少钱

杭州python做网站,做淘宝优惠券网站要多少钱,济南网站建设搜点网络,东莞网络公司一、基本知识 1. 介绍 MyBatis 是 Apache 的一个开源项目#xff0c;它封装了 JDBC#xff0c;使开发者只需要关注 SQL 语句本身#xff0c;而不需要再进行繁琐的 JDBC 编码。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java POJO#xff08;Plain … 一、基本知识 1. 介绍 MyBatis 是 Apache 的一个开源项目它封装了 JDBC使开发者只需要关注 SQL 语句本身而不需要再进行繁琐的 JDBC 编码。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java POJOPlain Old Java Objects到数据库中的记录。MyBatis 是一个优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。 2. 特点 SQL 优先MyBatis 让 SQL 语句可以清晰地写在 XML 文件或注解中支持动态 SQL。简单易用简化了 JDBC 代码专注于 SQL 本身。灵活性强可以根据需要自定义 SQL 语句满足复杂查询需求。支持多种数据库支持 MySQL、PostgreSQL、Oracle 等主流数据库。 3. Maybatis VS JDBC 特性JDBCMyBatisSQL 编写与管理手动编写 SQL 并嵌入 Java 代码中。SQL 管理复杂维护困难。SQL 语句可放在 XML 文件或注解中代码与 SQL 分离结构清晰。参数处理手动设置 SQL 语句中的参数代码量大且易出错。自动处理参数设置简化代码。结果集映射手动处理结果集并映射为 Java 对象过程繁琐。自动将结果集映射为 Java 对象支持复杂对象映射。数据库连接管理需手动管理数据库连接和资源易出现资源泄漏。使用内置连接池自动管理连接减少资源泄漏风险。事务管理需手动处理事务。提供方便的事务管理功能可通过配置或编程方式管理事务。动态 SQL 支持需通过字符串拼接实现动态 SQL易引发 SQL 注入问题代码难维护。提供强大的动态 SQL 支持通过 XML 标签或注解生成动态 SQL安全易维护。缓存支持不直接提供缓存机制需自行实现。内置一级缓存和二级缓存通过配置轻松启用缓存。开发效率需编写大量样板代码开发效率较低。减少样板代码提高开发效率。灵活性提供底层 API允许对数据库操作进行精细控制。提供灵活的 SQL 控制适合需要直接编写 SQL 的场景。 二、Mybatis的基本使用 1. 环境配置 添加依赖以 Maven 为例在配置文件中添加mybtis依赖 dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.6/version /dependency dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.21/version /dependency2. 配置数据库连接 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mydatabase/property nameusername valueroot/property namepassword valuepassword//dataSource/environment/environmentsmappersmapper resourcecom/example/mapper/UserMapper.xml//mappers /configuration3. 基本使用以用户管理为例 创建用户实体类 public class User {private int id;private String name;private String email;private int age;private String address; }定义mapper接口 import org.apache.ibatis.annotations.*; import java.util.List; public interface UserMapper { //简单的查询实际上不用定义XML文件直接在mapper接口上面即可Select(SELECT * FROM users WHERE id #{id})User getUserById(int id);ListUser getAllUsers();Options(useGeneratedKeys true, keyProperty id)void insertUser(User user);void updateUser(User user);void deleteUser(int id); }编写 Mapper XML 文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.mapper.UserMapperselect idgetAllUsers resultTypeUserSELECT * FROM users/selectinsert idinsertUser parameterTypeUser useGeneratedKeystrue keyPropertyidINSERT INTO users (name, email, age, address) VALUES (#{name}, #{email}, #{age}, #{address})/insertupdate idupdateUser parameterTypeUserUPDATE users SET name #{name}, email #{email}, age #{age}, address #{address} WHERE id #{id}/updatedelete iddeleteUser parameterTypeintDELETE FROM users WHERE id #{id}/delete /mapper注Mybatis使用只需要定义mapper接口不用再有具体的实现 三、Mybatis动态sql MyBatis 提供了强大的动态 SQL 功能允许开发者根据不同的条件动态生成 SQL 语句。动态 SQL 通常用于处理复杂的查询条件或可选的查询参数。MyBatis 的动态 SQL 是通过 XML 配置文件中的一些特殊标签来实现的这些标签包括 if, choose, when, otherwise, trim, where, set 和 foreach 等。长常见标签的使用如下 1. if 标签 if标签用于根据条件动态生成 SQL 片段。如果条件为真则包含该 SQL 片段否则忽略。 select idfindUsers parameterTypemap resultTypeUserSELECT * FROM userswhereif testname ! nullAND name #{name}/ifif testemail ! nullAND email #{email}/ifif testage ! nullAND age #{age}/if/where /select2. choose标签 choose 标签类似于 Java 中的 switch 语句用于选择其中一个条件。它包含多个 when 标签和一个可选的 otherwise 标签。示例 select idfindUser parameterTypemap resultTypeUserSELECT * FROM userswherechoosewhen testid ! nullAND id #{id}/whenwhen testname ! nullAND name #{name}/whenotherwiseAND email #{email}/otherwise/choose/where /select3. where标签 where 标签自动添加 WHERE 关键字并处理 SQL 片段的 AND/OR 前缀在条件中使用动态sql时就需要使用where标签。示例 select idfindUsers parameterTypemap resultTypeUserSELECT * FROM userswhereif testname ! nullAND name #{name}/ifif testemail ! nullAND email #{email}/ifif testage ! nullAND age #{age}/if/where /select4. set 标签 set 标签用于生成 UPDATE 语句中的 SET 子句自动处理末尾的逗号。示例 update idupdateUser parameterTypeUserUPDATE userssetif testname ! nullname #{name},/ifif testemail ! nullemail #{email},/ifif testage ! nullage #{age},/ifif testaddress ! nulladdress #{address}/if/setWHERE id #{id} /update5. foreach 标签 foreach 标签用于处理集合类型参数如 List、Set 或数组。示例 select idfindUsersByIds parameterTypelist resultTypeUserSELECT * FROM users WHERE id INforeach itemid indexindex collectionlist open( separator, close)#{id}/foreach /select四、使用注意事项 Mapper接口和XML映射文件 确保 XML 映射文件中的 namespace 与 Mapper 接口的全限定名完全匹配。XML 映射文件中的 SQL 语句 ID 必须与 Mapper 接口中的方法名一致。确保 Mapper 接口方法的参数类型与 XML 中定义的 parameterType 一致。确保 Mapper 接口方法的返回类型与 XML 中定义的 resultType 或 resultMap 一致。 其他 如果 Mapper 接口方法有多个参数XML 中需要使用 Param 注解来指定参数名称或者使用 Map 作为参数类型当查询结果与实体类字段不完全匹配时可以使用 ResultMap 进行映射在使用动态 SQL 时尽量使用 MyBatis 提供的参数绑定方式而不是直接拼接字符串以防止 SQL 注入如果在 Mapper 接口中使用注解来定义 SQL 语句则不需要在 XML 中重复定义但确保注解和方法签名一致
http://www.hkea.cn/news/14336966/

相关文章:

  • 英国做电商网站有哪些方面电商运营的概念
  • 查看邮箱注册的网站全球农村电商平台有哪些
  • 点击app图标进入网站怎么做物流网站建设模板下载
  • 网站建设类书籍做网站的项目实施方案
  • 网站建设z亿玛酷1订制中山做百度网站的公司名称
  • html5 网站建设大厂县城乡建设局网站
  • 呼和浩特网站建设价位网上发布信息的网站怎么做的
  • 设计常去的网站企业网站设计苏州
  • 翻译网站建设wordpress图片盗链
  • 个人商城网站怎么做营销型网站的目标是
  • iis网站伪静态鲲鹏建设集团有限公司网站
  • 分类信息网站织梦模板地方网站优势
  • 网站备案填写电话号码谷德设计网gooood
  • 17网站一起做网店揭阳做网站用哪些软件
  • 网站开发基本流程网站关键词排名优化工具
  • 合肥商业网站建设费用北京网站建设知名公司排名
  • 沙河高端网站建设购物网站的建设的好处
  • 东莞专业网站建设服务微信公众号的子菜单网页怎么制作
  • 北京怎么样做网站公司部门分类
  • 2017年网站推广怎么做网站怎样做的有吸引力
  • 深圳网站建设者linux网站做301重定向
  • 怎么盗号网站怎么做ftp媒体库 wordpress
  • 医院网站建设台账百度 手机网站 收录
  • 网络营销从网站建设开始网站地图制作怎么做?
  • 免费地方门户网站源码重庆网站建设公司价钱
  • c 网站开发教程南昌模板建站定制
  • 网站优化怎么做 有什么技巧织梦律师网站模版
  • 奇网企业网站管理系统seo和点击付费的区别
  • 游戏网站风控怎么做全国工商登记网
  • 网站后台如何更改信誉好的唐山网站建设