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

网站建设 趋势陕西企业网站建设

网站建设 趋势,陕西企业网站建设,建筑装饰工程,专做衬衫的网站入门概念:是一款优秀的持久层框架,用于简化JDBC的开发就是通过java程序来操作数据库快速入门:1.准备工作(创建springboot工程、数据库表user、实体类user)2.引入Mybatis的相关依赖,配置Mybatis(…

入门

概念

:是一款优秀的持久层框架,用于简化JDBC的开发

          就是通过java程序来操作数据库

快速入门

:1.准备工作(创建springboot工程、数据库表user、实体类user)

                  2.引入Mybatis的相关依赖,配置Mybatis(数据库连接信息)

                  3.编写SQL语句(注解/XML)

数据库连接池

概念:数据库连接池是个容器,负责分配、管理数据库连接(Connection)

          它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个

          释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏

优势:资源重用、提升系统响应速度、避免数据库连接遗漏

切换Druid数据库连接池:

  1.先引入依赖

<dependency>

   <groupld>com.alibaba</groupld>

   <artifactld>druid-spring-boot-starter</artifactld>

   <version>1.2.8</version>

</dependency>

 2.配置属性

spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Drive

spring.datasource.druid.url=jdbc:mysql://localhost:3306/mybatis

spring.datasource.druid.username=root

spring.datasource.druid.password=1234

lombok

Lombok是一个实用的java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、tostring.等方法,并可以自动化生成日志变量,简化java开发、提高效率。

要引入依赖

<dependency>

    <groupld>org.projectlombok</groupld>

    <artifactld>lombok</artifactld>

</dependency>

基础操作

删除

1.方法(根据主键删除)

SQL语句:   delete from emp where id = 17;

接口方法:

@Delete("delete from emp where id = #{id}")

public void delete(integer id);

注:

配置日志:可以在application.properties中,打开mybatis的日志,并指定输出到控制台#指定

mybatis输出日志的位置,输出控制台

新增

1.方法

SQL语句:

insert into emp(username, name, gender, image, job, entrydate, dept id, create time, update time) values ('songyuanqiao'“宋远桥',1,1jpg'2,'2012-10-09'2,2022-10-0110:00:00','2022-10-01 10:00:00');

接口方法:

@Insert("insert into emp(username, name, gender, image, job, entrydate, dept id, create time, update time) " + "values(#username, #name}, #{gender), #{image), #ljob), #entrydatel, #deptld), #{createTime), #{updateTime)")

public void insert(Emp emp);

注:红色的Emp是一个实体类将多个数据进行了封装,在数据传输时可以使用一个对象传输

更新(修改)

1.方法  (根据ID更新员工信息)

SOL语句

update emp set username = 'songdaxia', name = '宋大侠', gender = 1 ,image = '1.jpg', job =2, entrydate ='2012-01-01',dept id=2,update time='2022-10-01 12:12:12' where id = 19;

接口方法

@Update("update emp set username=#fusernamel, name=#{namel, gender=#genderl, image=#imagel, iob=#ioblentrydate=#{entrydate}, dept id=#{deptld), update time=#{updateTime} where id=#{id}")

public void update(Emp emp);

查询

1.根据id查询

SOL语句

select * from emp where id = 19;

接口方法

@Select("select * from emp where id = #{id}")

public Emp getByld(integer id);

注:


数据封装:实体类属性名 和 数据库表查询返回的字段名一致,mybatis会自动封装。

                   如果实体类属性名 和 数据库表查询返回的字段名不一致,不能自动封装。.
例:

解决办法:
1.起别名:在SQL语句中,对不一样的列名起别名,别名和实体类属性名一样。

@select("select id, username, password, name, gender, image, job, entrydate, dept id deptid, create time createTime, update timeupdateTime from emp where id = #{id} ")

public Emp getByld(Integer id);

   2.手动结果映射:通过 @Results及@Result 进行手动结果映射。.

@Select("select * from emp where id = #{id}")
@Results({
@Result(column = "dept id", property= "deptld"),
@Result(column ="create time", property = "createTime"),
@Result(column="update time", property="updateTime")})
public Emp getByld(integer id);

   3.开启驼峰命名:如果字段名与属性名符合驼峰命名规则,mybatis会自动通过驼峰命名规则映射

2.根据条件查询

SQL语句
select * from emp where name like "%;k%' and gender= 1 and entnydate between'2010-01-01' and '2020-01-01 'order by update time desc;

接口方法

1.  @Select("select* from emp where name like '%${name}%' and gender #gender} and entrydate between #{begin} and #{end} order by update time desc")

public List<Emp> list(String name,,Short gender,LocalDate begin,LocalDate end;


2.  @select"select * from emp where name like concat('%',#name,’%') and gender = #{gender} and entrydate between #{begin} and #{end} order by update _ time desc")

public List<Emp> list(String name, Short gender , LocalDate begin , LocalDate end);
推荐


XML映射文件

规范

XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)

XML映射文件的namespace属性为Mapper接口全限定名一致。。

XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。

<mapper namespace="com.itheima.mapper.EmpMapper">

   <select id="list"  resultType="com.itheima.pojo.Emp">

          select * from emp where name like concat('%',#{name},'%’) and gender = #{gender} and

                entrydate between #{begin} and #{end} order by update time desc

   </select>

</mapper>


注: 使用Mybatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句。

动态SQL

动态SQL:随着用户的输入或外部条件的变化而变化的SQL语句,我们称为 动态SQL。

<if>

<if>:用于判断条件是否成立。使用test属性进行条件判断,如果条件为true,则拼接SQL。

<where>:where 元素只会在子元素有内容的情况下才插入where子句。而且会自动去除子句的开头

的AND 或OR。


<foreach>

SOL语句

delete from emp where id in (1,2,3);

接口方法

public void deleteBylds(List<integer> ids);


XML映射文件

<delete id="deleteBylds">

      delete from emp where id in

      <foreach collection="ids" item="id" separator="," open="(" close=")">

           #{id}

      </foreach>

</delete>

sql&include

如果在文件中存在大量重复的SQL语句片段,后续改动时会很繁琐,可以使用sql&include来解决。

http://www.dtcms.com/wzjs/54402.html

相关文章:

  • 网站分页怎么做sem是什么检测分析
  • 高校两学一做网站建设手机百度
  • 江门网站建设方案优化市场营销的策划方案
  • 咨询公司注册经营范围长沙百度seo
  • wordpress编辑器 下载地址seo诊断方案
  • 珍爱网建设网站的目的最好的bt磁力搜索引擎
  • 有帮忙做网站的吗百度文库个人登录
  • 高端网站建设公司排名学电脑在哪里报名
  • word超链接网站怎么做杭州seo教程
  • 房产信息网网站原创代写文章平台
  • 做兼职写小说网站网络推广违法吗
  • 做网站需要会写代码百度上怎么做推广
  • 做软欧的网站上海百度推广开户
  • 打电话说帮忙做网站百度seo关键词怎么做
  • 软件app免费下载大全优化网站排名费用
  • 做数学题好的网站windows优化大师是电脑自带的吗
  • 盐城市建设局网站打不开湖南网络推广服务
  • 移动端比较好的网站网站域名购买
  • 黄页群发软件建站seo是什么
  • 免费网站报价单怎么做推广搜索怎么选关键词
  • 选服务好的网站建设公司地推网
  • 网站制作的详情表aso关键字优化
  • 做智能家居网站建站平台如何隐藏技术支持
  • 怎么做网站关键词视频湖州网站seo
  • 不会代码怎么做网站百度搜索引擎优化详解
  • 住建部官方网站移动营销
  • 抖音做我女朋友网站今日军事新闻最新消息中国
  • vue大型网站怎么做路由百度软件安装
  • vue做的pc线上网站上海网络推广公司排名
  • 重庆电商网站建设甘肃省seo关键词优化