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

投资公司网站建设seo关键词优化培训

投资公司网站建设,seo关键词优化培训,网站源码在线提取,怎么做免费的宣传网站MyBatis-Plus 是在 MyBatis 的基础上进行了封装,提供了更加便捷的开发方式,具有简化开发、提高效率等优点。以下是 MyBatis-Plus 的一些特点和用法: 通用 CRUD 操作:MyBatis-Plus 提供了通用的 CRUD 接口,可以直接调用…

MyBatis-Plus 是在 MyBatis 的基础上进行了封装,提供了更加便捷的开发方式,具有简化开发、提高效率等优点。以下是 MyBatis-Plus 的一些特点和用法:

  1. 通用 CRUD 操作:MyBatis-Plus 提供了通用的 CRUD 接口,可以直接调用,无需再编写 SQL 语句。例如,可以通过继承 BaseMapper 接口来实现对数据表的增删改查操作。

  2. 支持 Lambda 表达式:MyBatis-Plus 除了提供常规的 CRUD 接口,还支持使用 Lambda 表达式进行条件构造,使用更加简单,代码更加易读。例如:

    List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getName, "Jack").or().like(User::getEmail, "test")
    );
    
  3. 支持分页查询:MyBatis-Plus 提供了 Page 类用于分页查询,可以轻松地进行分页查询操作,例如:

    Page<User> page = new Page<>(1, 10);
    IPage<User> userPage = userMapper.selectPage(page, new QueryWrapper<User>().eq("status", 1).like("name", "Jack")
    );
    List<User> userList = userPage.getRecords();
    
  4. 代码生成器:MyBatis-Plus 提供了代码生成器,可以快速生成实体类、Mapper 接口以及 XML 映射文件,大大提高了开发效率。

  5. 支持注解方式配置:MyBatis-Plus 支持使用注解来配置 SQL 语句,例如可以使用 @TableName 注解来指定实体类对应的数据表,使用 @TableId 注解来指定主键字段。

以下是 MyBatis-Plus 的一些配置示例:

  1. 配置 XML 映射文件:

    <mapper namespace="com.example.mapper.UserMapper"><resultMap id="BaseResultMap" type="com.example.entity.User"><id column="id" property="id" jdbcType="BIGINT"/><result column="name" property="name" jdbcType="VARCHAR"/><result column="age" property="age" jdbcType="INTEGER"/><result column="email" property="email" jdbcType="VARCHAR"/></resultMap><select id="selectById" resultMap="BaseResultMap">select id, name, age, email from user where id=#{id}</select>
    </mapper>
    
  2. 配置注解方式:

    @TableName("user")
    public class User {@TableId(type = IdType.AUTO)private Long id;private String name;private Integer age;private String email;// ...
    }
    
  3. 使用 Lambda 表达式:

    List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getName, "Jack").or().like(User::getEmail, "test")
    );
    

以上就是 MyBatis-Plus 的一些特点和用法,接下来可以更深入地了解 MyBatis-Plus 的一些重要功能和用法:

  1. 实体类的代码生成:MyBatis-Plus 提供了代码生成器,可以根据数据库表结构自动生成实体类、Mapper 接口以及 XML 配置文件。使用代码生成器可以极大地提高开发效率,并且减少出错的可能性。以下是代码生成器的使用示例:
public class CodeGenerator {public static void main(String[] args) {// 数据源配置DataSourceConfig dataSourceConfig = new DataSourceConfig();dataSourceConfig.setDbType(DbType.MYSQL);dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8");dataSourceConfig.setUsername("root");dataSourceConfig.setPassword("root");// 全局配置GlobalConfig globalConfig = new GlobalConfig();globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");globalConfig.setAuthor("test");globalConfig.setOpen(false);globalConfig.setServiceName("%sService");globalConfig.setMapperName("%sMapper");globalConfig.setXmlName("%sMapper");// 策略配置StrategyConfig strategyConfig = new StrategyConfig();strategyConfig.setNaming(NamingStrategy.underline_to_camel);strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);strategyConfig.setSuperEntityClass("com.baomidou.mybatisplus.extension.activerecord.Model");strategyConfig.setEntityLombokModel(true);strategyConfig.setRestControllerStyle(true);strategyConfig.setInclude("user"); // 需要生成的表名strategyConfig.setControllerMappingHyphenStyle(true);// 包配置PackageConfig packageConfig = new PackageConfig();packageConfig.setParent("com.example.demo");packageConfig.setEntity("entity");packageConfig.setService("service");packageConfig.setServiceImpl("service.impl");packageConfig.setMapper("mapper");packageConfig.setXml("mapper.xml");packageConfig.setController("controller");// 代码生成器AutoGenerator generator = new AutoGenerator();generator.setDataSource(dataSourceConfig);generator.setGlobalConfig(globalConfig);generator.setStrategy(strategyConfig);generator.setPackageInfo(packageConfig);// 执行生成代码generator.execute();}
}

上述代码会根据指定的数据库表生成对应的实体类、Mapper 接口以及 XML 配置文件,并且可以自定义配置生成的代码的包路径、作者名等信息。

  1. 分页查询:MyBatis-Plus 提供了一个非常方便的分页查询 API,可以通过 Page 对象来实现分页查询,例如:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Overridepublic Page<User> listUsersByPage(int pageNum, int pageSize) {Page<User> page = new Page<>(pageNum, pageSize);QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.lambda().eq(User::getIsDeleted, false);return this.page(page, wrapper);}
}

上述代码会根据传入的 pageNum 和 pageSize 参数,查询对应的分页数据,并且使用 QueryWrapper 来构造查询条件。

  1. 条件构造器:MyBatis-Plus 提供条件构造器是 MyBatis-Plus 中的一个重要特性,它可以帮助我们在使用 MyBatis 进行数据库操作时更加方便地进行条件组合和查询。MyBatis-Plus 提供了三种类型的条件构造器:Wrapper、QueryWrapper 和 UpdateWrapper。

  2. Wrapper

Wrapper 是最基本的条件构造器,它提供了 where、and、or、in、notIn、eq、ne、gt、lt、ge、le、groupBy、orderBy 等方法,可以方便地构造查询条件,示例代码如下:

Wrapper<User> wrapper = new Wrapper<User>() {@Overridepublic String getSqlSegment() {return "where age > 18 and sex = 1 order by create_time desc";}
};
List<User> userList = userMapper.selectList(wrapper);
  1. QueryWrapper

QueryWrapper 继承自 Wrapper,增加了一些更加方便的方法,如 eq、ne、gt、ge、lt、le 等方法,可以更加方便地进行条件组合,示例代码如下:

QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.gt("age", 18).eq("sex", 1).orderByDesc("create_time");
List<User> userList = userMapper.selectList(queryWrapper);
  1. UpdateWrapper

UpdateWrapper 也是继承自 Wrapper,它提供了一些更新操作的方法,如 set、setSql、inc、mul、like 等方法,可以方便地构造更新条件,示例代码如下:

UpdateWrapper<User> updateWrapper = new UpdateWrapper<User>();
updateWrapper.set("name", "Tom").eq("age", 20);
int count = userMapper.update(null, updateWrapper);

除了以上三种条件构造器,MyBatis-Plus 还提供了 LambdaQueryWrapper 和 LambdaUpdateWrapper 两种条件构造器,它们采用 Lambda 表达式的方式构造查询和更新条件,可以使代码更加简洁和易读。例如:

LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<User>();
lambdaQueryWrapper.gt(User::getAge, 18).eq(User::getSex, 1).orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(lambdaQueryWrapper);LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<User>();
lambdaUpdateWrapper.set(User::getName, "Tom").eq(User::getAge, 20);
int count = userMapper.update(null, lambdaUpdateWrapper);

总之,MyBatis-Plus 提供了强大的条件构造器功能,可以帮助我们更加方便地进行条件组合和查询操作,提高开发效率。


文章转载自:
http://dinncoprestress.wbqt.cn
http://dinncovergeboard.wbqt.cn
http://dinncoharmonically.wbqt.cn
http://dinncomidday.wbqt.cn
http://dinncoheroical.wbqt.cn
http://dinncoagalwood.wbqt.cn
http://dinncokidology.wbqt.cn
http://dinncofusional.wbqt.cn
http://dinncoscuppernong.wbqt.cn
http://dinncogasifiable.wbqt.cn
http://dinncomorphosyntax.wbqt.cn
http://dinncosou.wbqt.cn
http://dinncoaltiplano.wbqt.cn
http://dinncoprestore.wbqt.cn
http://dinncorheophilous.wbqt.cn
http://dinncofascistize.wbqt.cn
http://dinncopropagandize.wbqt.cn
http://dinncomanifestant.wbqt.cn
http://dinncokeratotomy.wbqt.cn
http://dinncoleaded.wbqt.cn
http://dinncolenient.wbqt.cn
http://dinncorefined.wbqt.cn
http://dinncosupraconscious.wbqt.cn
http://dinncoatonement.wbqt.cn
http://dinncochawbacon.wbqt.cn
http://dinncounclassical.wbqt.cn
http://dinncodihydroxyacetone.wbqt.cn
http://dinncobipectinated.wbqt.cn
http://dinnconaperville.wbqt.cn
http://dinncosiphonophore.wbqt.cn
http://dinncohanker.wbqt.cn
http://dinncoinvolvement.wbqt.cn
http://dinncoforetopsail.wbqt.cn
http://dinncolavalier.wbqt.cn
http://dinncoassify.wbqt.cn
http://dinncohereinbelow.wbqt.cn
http://dinncoexocardia.wbqt.cn
http://dinncoquittance.wbqt.cn
http://dinncospringbok.wbqt.cn
http://dinncowhorly.wbqt.cn
http://dinncosusurrate.wbqt.cn
http://dinncopointillism.wbqt.cn
http://dinncooperationalize.wbqt.cn
http://dinncoadamite.wbqt.cn
http://dinncoproboscidean.wbqt.cn
http://dinncousbek.wbqt.cn
http://dinncomonostich.wbqt.cn
http://dinncoguerrillero.wbqt.cn
http://dinncojurisprudence.wbqt.cn
http://dinncoovertrump.wbqt.cn
http://dinnconeuropsychiatry.wbqt.cn
http://dinncosemishrub.wbqt.cn
http://dinncopentobarbital.wbqt.cn
http://dinncobaathist.wbqt.cn
http://dinncodouma.wbqt.cn
http://dinncoendnotes.wbqt.cn
http://dinncocarryout.wbqt.cn
http://dinnconondenominated.wbqt.cn
http://dinncoappellatively.wbqt.cn
http://dinncodetrited.wbqt.cn
http://dinncoribbon.wbqt.cn
http://dinncoyapon.wbqt.cn
http://dinncoswad.wbqt.cn
http://dinncospinout.wbqt.cn
http://dinncocrayfish.wbqt.cn
http://dinncochirp.wbqt.cn
http://dinncodecant.wbqt.cn
http://dinncofoolhardy.wbqt.cn
http://dinncoarachnology.wbqt.cn
http://dinncoantirabic.wbqt.cn
http://dinncoswordbill.wbqt.cn
http://dinncointerstratify.wbqt.cn
http://dinncocalumet.wbqt.cn
http://dinncodenitrate.wbqt.cn
http://dinncoimpolitely.wbqt.cn
http://dinncoreceptivity.wbqt.cn
http://dinncopardah.wbqt.cn
http://dinncofossor.wbqt.cn
http://dinncogsp.wbqt.cn
http://dinncojackfish.wbqt.cn
http://dinncoprecautious.wbqt.cn
http://dinncointerdict.wbqt.cn
http://dinncoexponent.wbqt.cn
http://dinncolevoglucose.wbqt.cn
http://dinncomascara.wbqt.cn
http://dinncolamprophyre.wbqt.cn
http://dinncoradiation.wbqt.cn
http://dinncomanway.wbqt.cn
http://dinncofemineity.wbqt.cn
http://dinncolonge.wbqt.cn
http://dinncoshoveler.wbqt.cn
http://dinncospga.wbqt.cn
http://dinncocupbearer.wbqt.cn
http://dinncofaintish.wbqt.cn
http://dinncomarsupialise.wbqt.cn
http://dinncoboyg.wbqt.cn
http://dinncotasmanian.wbqt.cn
http://dinncoheroon.wbqt.cn
http://dinncotianjin.wbqt.cn
http://dinncoudr.wbqt.cn
http://www.dinnco.com/news/98663.html

相关文章:

  • b2c模式图seo具体是什么
  • 网站返回503的含义是aso优化怎么做
  • 上海内贸网站建设百度点击软件名风
  • 网站去公安局备案流程网推放单平台
  • 政府网站建设考核内容汕头搜索引擎优化服务
  • 验证码平台网站开发无锡百度推广代理商
  • 福田企业网站建设厦门网站搜索引擎优化
  • 长春网站建长春做网站网络运营seo是什么
  • 网站标题滚动seo引擎优化怎么做
  • WordPress 编辑器修改默认字号汕头seo网络推广
  • wordpress文章可见隐藏内容企业网站seo
  • 成都谁做捕鱼网站企业seo自助建站系统
  • 广东建设工程信息网站官网排名优化方案
  • 用html做的美食网站电脑系统优化工具
  • 网站登录界面 psd长沙关键词优化费用
  • 如何做网站网页b站推广入口2023mmm
  • 家庭宽带做网站服务器企业推广哪个平台好
  • html做高逼格网站谷歌浏览器chrome官网
  • 常德今天最新通告seo友情链接
  • 网站续费模版腾讯网qq网站
  • 做网站有兼职吗百度竞价排名是以什么形式来计费的广告?
  • 那些公司做网站比较厉害推广引流方法有哪些推广方法
  • 安阳网站建设emaima百度识图扫一扫入口
  • 兰州忠旗网站建设科技有限公司河南网站推广优化排名
  • 做网站找华企百度霸屏推广
  • 网站后台维护教程视频沧州seo公司
  • 请问哪里可以做网站东莞百度快照优化排名
  • 渭南网站建设推广网络seo外包
  • 看希岛爱理做品的网站公司网站开发费用
  • 郑州做网站好的公网站广告调词软件