JAVAWEB 30-

news2024/9/26 19:50:19

JAVAWEB 30-

  • 快速入门
  • DriverManager
  • Connection
  • resultset
  • PreparedStatement
  • 增删改查
  • 查询所有
    • 添加 修改
  • MAVEN坐标
  • MyBatis
  • 代理开发
  • mybatis查询
  • 条件查询
  • 添加
  • 删除
  • 参数传递

快速入门

在这里插入图片描述

public static void main(String[] args) throws Exception {
/1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/db1";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url, username, password);
//3.定义sql
String sql = "update account set money = 2000 where id = 1";
//4.获取执行sql的对象 Statement
Statement stmt = conn.createStatement();
//5.执行sql
int count =stmt.executeUpdate(sql);//受影响的行数
//6.处理结果
System.out.println();
}

DriverManager

在这里插入图片描述
在这里插入图片描述

Connection

在这里插入图片描述

resultset

在这里插入图片描述

while (rs.next()){

int id = rs.getInt(  1);
String name = rs.getString(  2);
double money = rs.getDouble( 3);
System.out.println(id);
System.out.println(name);
System.out.println(money);
");
System.out.println("----
}

PreparedStatement

在这里插入图片描述

增删改查

public class Brand {
//id主键
private Integer id;/品牌名称
private String brandName;
//企业名称
private String companyName;
// 排序字段
private Integer ordered;/描述信息
private String description;
//状态:8:禁用1:启用
private Integer status;
}

查询所有

//1.获取Connection
//3.加载配置文件
Properties prop = new Properties();
prop.load(new FileInputStream( name:"jdbc-demo/src/druid.properties"));
/4.获取连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
//5.获取数据库连接 Connection
Connection conn = dataSource.getConnection();
//2.定义SQL
String sql = "select * from tb_brand;";
//3.获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);

//4.设置参数
//5.执行SQL
ResultSet rs = pstmt.executeQuery();
//6.处理结果List<Brand>封装Brand对象,装载List集合
while (rs.next()){
∥获取数据
//封装Brand对象/装载集合
//7.释放资源
rs.close();
pstmt.close();
conn.close();|

添加 修改

//2.定义SQL
String sql = "insert into tb_brand(brand_name, company_name, ordered, description, status
//3.获取pstmt对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//4.设置参数
pstmt.setString( 1,brandName);
pstmt.setString(2,companyName);
pstmt.setInt( 3,ordered);
pstmt.setString(4,description);
pstmt.setInt( 5,status);
//5.执行SQL
int count=pstmt.executeUpdate();//影响的行数
//6.处理结果
System.out.println(count > p;
//7.释放资源
pstmt.close();
conn.close();

MAVEN坐标

在这里插入图片描述

MyBatis

<dataSource type="POOLED">
<--数据库连接信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///mybatis?usesSL=false"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
<mapper namespace="test">
<select id="selectAll" resultType="com.itheima.pojo.User">
select * from tb_user;
</select>

</mapper>
//1.加载mybatis的核心配置文件,获取SqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.执行sql
List<User> users = sqlSession.selectList( "test.selectAll");

System.out.println(users);
<mapper Anamespace="test">
<select id="selectAll" resultType="com.itheima.pojo.User">
select *
from tb_user;
</select>
</mapper>

代理开发

在这里插入图片描述

mybatis查询

在这里插入图片描述

@Test
public void testSelectAll() throws IOException {
//1.获取SqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取Mapper接口的代理对象
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法
List<Brand> brands = brandMapper.selectAll();
System.out.println(brands);
//5.释放资源
sqlSession.close();|

数据库表的字段名称和实体类的属性名称不一样,则不能自动封装数据
*起别名:对不一样的列名起别名,让别名和实体类的属性名一样
*缺点:每次查询都要定义一次别名
*sqL片段
*缺点:不灵活
resultMap:
1.定义标签
2.在标签中,使用resultMap属性替换 resultType属性
id:唯一标识
type:映射的类型,支持别名

在这里插入图片描述

条件查询

在这里插入图片描述

//封装对象
Brand brand = new Brand();
brand.setStatus(status);
brand.setCompanyName(companyName);
brand.setBrandName (brandName);



//执行方法
 
List<Brand> brands = brandMapper.selectByCondition(brand);
System.out.println(brands);

添加

在这里插入图片描述

//执行方法
brandMapper.add(brand);
∥提交事务
sqlSession.commit();|

删除

在这里插入图片描述

参数传递

MyBatis 参数封装:
*单个参数:
1.POJ0类型:直接使用,属性名和参数占位符名称|一致
2.Map集合:
3. Collection:
4. List:
5. Array:
6.其他类型:
多个参数:封装为Map集合,可以使用aParam注解,替换Map集合中默认的arg键名
map.put(“argo”,参数值1)
map.put(“param1”,参数值1)
map.put(“param2”,参数值2)
map.put(“agr1”,参数值2)
–@Param(“username”)
map.put(“username”,参数值1)
map.put(“param1”,参数值1)
map.put(“param2”,参数值2)
map.put(“agr1”,参数值2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【TA100】Bloom算法

一、什么是Bloom算法 1、首先看一下Bloom效果长什么样 2、什么是Bloom ● Bloom&#xff0c;也称辉光&#xff0c;是一种常见的屏幕效果 ● 模拟摄像机的一种图像效果&#xff0c;让画面中较亮的区域“扩散”到周围的区域中&#xff0c;造成一种朦胧的效果 ● 可以让物体具有…

[JVM]再聊 CMS 收集器

题目之所以是再聊,是因为以前聊过: [JVM]聊聊 CMS 收集器 最近又看了下这块的知识,打算把 CMS/标记-清除/GC Roots/引用 这些知识串起来 我依旧可能写的不是很好,降低下期待 GC 算法 CMS 是基于 标记-清除 算法来做的,那我们就先从 GC 算法开始聊 GC 算法有: 标记-清除 标…

一篇博客教会你使用Docker部署Redis哨兵

文章目录 主数据库配置文件启动实例容器虚拟IP 从数据库配置文件启动实例 主从数据库查看主数据库查看从数据库 哨兵配置文件启动哨兵查看哨兵 哨兵机制哨兵选举选举日志重启主数据库 今天我们学习使用 Docker 部署 Redis 的主从复制&#xff0c;并部署 Redis 哨兵&#xff0c;…

Linux学习之grub配置文件介绍

grub配置文件 /etc/default/grub这个文件里边有一些简单的grub配置。 可以看到/etc/default/grub文件里有GRUB_CMDLINE_LINUX"crashkernelauto rhgb quiet idlehalt biosdevname0 net.ifnames0 consoletty0 consolettyS0,115200n8 noibrs nvme_core.io_timeout429496729…

全网独家--【图像色彩增强】方法梳理和问题分析

文章目录 图像增强图像色彩增强问题可视化比较 难点色彩空间大&#xff0c;难以准确表征&#xff1f;不同场景差异大&#xff0c;难以自适应&#xff1f;计算量大&#xff0c;但应用场景往往实时性要求高&#xff1f; 方法传统方法深度学习逐像素预测3D LUT模仿ISP 个人思考批判…

2.数据的类型、数据的输入输出

2.数据的类型、数据的输入输出 2.1 数据类型-常量-变量(整型-浮点-字符)2.1.1 数据类型2.1.2 常量2.1.3 变量2.1.4 整型类型2.1.5 浮点型数据2.1.6 字符型数据字符型常量字符型变量 2.1.7 字符串型常量 2.2 混合运算-printf讲解 2.1 数据类型-常量-变量(整型-浮点-字符) 2.1.1…

shell脚本怎么获取当前脚本名称(获取脚本文件名)$(basename “$0“)(basename命令:去除字符串路径部分、去除后缀)

文章目录 shell脚本如何获取当前执行脚本名称解释&#xff1a;$(basename "$0")$0&#xff08;当前脚本的名称&#xff0c;带脚本与工作目录之间的相对路径&#xff09;basename&#xff08;去除字符串路径部分&#xff09;示例 拓展&#xff1a;basename命令的完整用…

项目引入多个连接池,导致使用其他连接池,maven分析学习

第一步在命令行中执行 mvn dependency:tree > excludeParentstart.log如果你的settings文件不是项目使用的setting配置&#xff0c;那么就使用下面的命令 mvn -gs 你的路径/apache-maven-3.8.2/conf/settings-person.xml dependency:tree > excludeParentstart.log然后…

Spring学习---上篇

文章目录 1、Spring1.1、简介1.2、优点1.3、Spring的组成1.4、拓展 2、IOC理论推导3、IOC的本质3.1、IOC概念3.2、IoC是Spring框架的核心内容 3、HelloSpring3.1、实现3.2、思考 4、IOC创建对象的方式5、Spring配置5.1、别名&#xff08;alias&#xff09;5.2、Bean的配置5.3、…

Multi-class classification without multi-class labels (ICLR 2019)

Multi-class classification without multi-class labels (ICLR 2019) 摘要 这项工作提出了针对多分类的新策略&#xff0c;不需要具体的类别标签&#xff0c;取而代之是利用样本之间的两两相似度&#xff0c;这是一种弱化的标注方式。所提方法称作元分类学习&#xff0c;为两…

ModaHub魔搭社区:向量数据库Milvus使用 MySQL 管理元数据教程

目录 使用 MySQL 管理元数据 常见问题 数据管理相关博客 使用 MySQL 管理元数据 Milvus 默认使用 SQLite 作为元数据后台管理服务&#xff0c;SQLite 内嵌于 Milvus 进程中&#xff0c;无需启动额外服务。但是在生产环境中&#xff0c;基于可靠性的考虑&#xff0c;我们强烈…

【数据库管理】十分钟了解啥是三级封锁协议、X锁和S锁

一.为什么要用锁 在多用户共享系统中&#xff0c;许多事务可能同时对同一数据进行操作&#xff0c;称为“并发操作”&#xff0c;此时数据库管理系统的并发控制子系统负责协调并发事务的执行&#xff0c;保证数据库的完整性不受破坏&#xff0c;同时避免用户得到不正确的数据。…

Spring框架概括

spring是什么&#xff1f; Spring是2003年兴起的&#xff0c;它是一个轻量级的&#xff0c;非侵入式的IOC和AOP的一站式框架&#xff0c;为简化企业级应用开发。 它的特点&#xff1a; 轻量级&#xff1a;指的是核心jar包比较小的。 非侵入式的&#xff1a;框架代码不会侵入…

Java——《面试题——MQ篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java…

KingFusion3.6是什么?

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 今天继续学习KingFusion3.6&#xff0c;以下为学习笔记。 一、KingFusion3.6简介 1、管控一体化全组态平台KingFusion3.6是一款面向工业企业执行层的生产信息化管理系统。 2、KingFusion3.6基于“全组态”技术&#…

使用ROS功能包camera_calibration进行单目相机和双目相机的内参和外参标定

1.概述 本文总结使用ROS标定单目和双目相机的过程&#xff0c;同时提供生成棋盘格文件的方法。 参考链接&#xff1a; [1]使用ros标定相机的内参和外参 [2]ROS下采用camera_calibration进行双目相机标定 2.生成棋盘格文件 棋盘格可以自己买一个&#xff0c;或者打印一个粘在…

日本团队推出 AI 恋爱游戏:主角穿什么,玩家说了算

女主穿什么&#xff0c;还能由玩家决定&#xff1f;&#xff01; IT之家6月25日消息&#xff0c;来自日本的一个两人团队近期发布了一段视频&#xff0c;展示了一款正在开发中的基于 AI 的恋爱游戏。 在游戏初期&#xff0c;女主角会以黑色剪影的形式出现&#xff0c;针对女主…

紫云谷游记

先说重点&#xff0c;TLNR 1.早点去&#xff0c;方便找地方停车&#xff0c;坐渡船不用排队太久。 2.景区里的饭没外面的好吃。 3.溯溪回来再在游泳池游泳&#xff0c;溯溪凉快&#xff0c;游泳太晒。 4.溯溪真的好爽。 导航&#xff1a; 紫云谷乘船码头停车场 景区介绍就不多说…

常见电池容量概念

嵌入式软件做产品一定要考虑功耗问题 功耗是多少&#xff0c;装上电池能用多久。 1、毫安时和毫瓦时 毫安时&#xff08;mAh&#xff09;和毫瓦时&#xff08;mWh&#xff09;是两个不同的物理量&#xff0c;它们分别表示电量和能量的度量单位。下面图片搜18650得到不同结果&…

Elasticsearch介绍与应用

Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档&#xff1a;https://www.elastic.co/guide/index.html Elasticsearch官方下载地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址&#xff1a;http…