mybatis初体验
1.创建一个Web项目或者创建一个 控制台 应用程序 做一个简单的增删改查操作
首先看项目结构图
mybatis的配置文件configuration.xml此文件作为mybatis的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 加载数据源配置文件 -->
<properties resource="jdbc.properties"></properties>
<!-- 设置类型别名 -->
<typeAliases>
<typeAlias alias="BookInfo" type="com.dragon.entity.BookInfo"/>
</typeAliases>
<!-- 配置开发环境 -->
<environments default="development">
<!-- 设置配置环境为开发环境 -->
<environment id="development">
<!-- 事务管理 -->
<transactionManager type="JDBC"/>
<!-- 数据源配置 -->
<dataSource type="POOLED">
<!-- 设置数据库驱动 -->
<property name="driver" value="${driver}"/>
<!-- 设置连接地址 -->
<property name="url" value="${url}"/>
<!-- 设置登录名 -->
<property name="username" value="${username}"/>
<!-- 设置登录密码 -->
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 加入映射文件 的类-->
<mappers>
<mapper resource="com/dragon/entity/BookInfo.xml"/>
</mappers>
</configuration>
jdbc.properties配置文件
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
username=system
password=orcl
book实体类
package com.dragon.entity;
import java.io.Serializable;
public class BookInfo implements Serializable{
public BookInfo() {
super();
}
public BookInfo(int bookId, String bookTitle, Double bookPrice) {
super();
book_id = bookId;
book_title = bookTitle;
book_price = bookPrice;
}
/**
*
*/
private static final long serialVersionUID = 1L;
private int book_id;
private String book_title;
private Double book_price;
public int getBook_id() {
return book_id;
}
public void setBook_id(int bookId) {
book_id = bookId;
}
public String getBook_title() {
return book_title;
}
public void setBook_title(String bookTitle) {
book_title = bookTitle;
}
public Double getBook_price() {
return book_price;
}
public void setBook_price(Double bookPrice) {
book_price = bookPrice;
}
}
bookMapper配置文件 BookInfo.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.dragon.entity.BookInfo" > <!-- 创建insert parameterType 参数为设置传入类型 insert没有返回类型--> <insert id="inserts" parameterType="com.dragon.entity.BookInfo" > insert into BookInfo(book_id,book_title,book_price) values (#{book_id},#{book_title},#{book_price}) </insert> <!-- 创建查询语句 parameterType 为设置传入参数 --> <select id="get" parameterType="com.dragon.entity.BookInfo" resultType="BookInfo"> select * from BookInfo </select> <!-- 根据编号查询 --> <select id="selById" parameterType="int" resultType="BookInfo"> SELECT * FROM BookInfo WHERE book_id = #{book_id} </select> <!-- 根据编号删除 --> <delete id="deleteBook" parameterType="int"> DELETE FROM BookInfo WHERE book_id = #{book_id} </delete> <!-- 更新 --> <update id="updateBook" parameterType="com.dragon.entity.BookInfo"> UPDATE BookInfo SET book_title = #{book_title}, book_price = #{book_price} WHERE book_id = #{book_id} </update> </mapper>
控制台测试
package com.dragon.test;
import java.io.IOException; import java.io.InputStream; import java.util.List;
import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.dragon.entity.BookInfo;
public class Test {
/** * @param args */ @SuppressWarnings("unchecked") public static void main(String[] args) { // TODO Auto-generated method stub //定义文件 文件名称为mybatis的配置文件的名称 String resource = "configuration.xml"; //创建文件输入流 InputStream stream; try {
stream = Resources.getResourceAsStream(resource); //创建sqlSessionFactory对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream); //打开session对象 SqlSession session = sqlSessionFactory.openSession();
/////////////////查全部////////////////// //调用mapper文件中的id为get的sql方法 List<BookInfo> list = session.selectList("com.dragon.entity.BookInfo.get"); System.out.println("图书的信息是:\n编号\t名称\t价格"); for (BookInfo bookInfo : list) { System.out.println(bookInfo.getBook_id()+"\t"+bookInfo.getBook_title()+"\t"+bookInfo.getBook_price()); } System.out.println("---------------------------------------------------------------------"); /////////////根据编号查询 BookInfo bookInfo = (BookInfo)session.selectOne("com.dragon.entity.BookInfo.selById", 1); System.out.println("图书的信息是:\n编号\t名称\t价格"); System.out.println(bookInfo.getBook_id()+"\t"+bookInfo.getBook_title()+"\t"+bookInfo.getBook_price());
/////////////新增 int result =session.insert("com.dragon.entity.BookInfo.inserts", new BookInfo(4,"net培训教程3",78.53)); //提交事务 session.commit(); ///////插入成功则返回1 System.out.println(result); ////////删除 int delResult = session.delete("com.dragon.entity.BookInfo.deleteBook", 3); session.commit(); ////删除成功返回1 System.out.println(delResult); //////更新 int updateResult = session.update("com.dragon.entity.BookInfo.updateBook", new BookInfo(1,"net培训教程",78.53) ); session.commit(); System.out.println(updateResult); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
一个简单的jdbc对mybatis的操作 希望能够对您有所帮助!
<wbr></wbr>
数据库
CREATE TABLE BookInfo (
book_id number(5) PRIMARY key not null,
book_title nvarchar2(50) ,
book_price number(6,2)
);
insert into BookInfo values (1,'java',54.8);
insert into BookInfo values(2,'C#编程',66);
commit;
select * from BookInfo;
DROP TABLE BookInfo;
相关推荐
mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解!
Mybatis一对一增删修改查完整项目,是基于人与身份证的实体类,project可导入idea,建设mysql的表,改一下mysql连接就能直接运行,Mybatis一对一增删修改查完整项目,Mybatis一对一增删修改查完整项目
【MyBatis学习笔记六】——MyBatis一对一,一对多,多对一,多对多.zip博客地址:https://blog.csdn.net/weixin_43817709/article/details/117537580
本项目实用Spring + Spring MVC + Mybatis。数据库实用Mysql数据库 项目主要涉及,SSM框架的配置搭建,涉及Mybatis一对多的插入和查询,同时也涉及到一些简单的文件上传和下载.
mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio
Mybatis一级、二级缓存介绍.zip
MyBatis一级缓存避坑完全指南 MyBatis一级缓存是MyBatis框架中的一种缓存机制,用于提高数据库查询的性能。缓存的作用域为一次会话中,缓存随着会话(SqlSession)的创建而产生,随着会话结束而释放。在一次会话中,...
Mybatis实现关联查询一对一和一对多实现,具体效果看博文 http://blog.csdn.net/evankaka/article/details/45674101
本示例"mybatis3_spring3整合"正是针对这一主题,通过使用MyBatis 3.0.2和Spring 3.0.4版本来展示如何实现两者的无缝集成,并且重点讲解了如何配置MyBatis中的一对一和一对多的关系映射。 首先,MyBatis是一个优秀...
在IT行业中,Mybatis是一个广泛使用的轻量级持久层框架,它允许开发者通过XML或注解方式编写SQL语句,实现灵活的数据库操作。在这个场景中,"mybatis关联查询问题(一对多、多对一)"是核心关注点,这涉及到数据库设计...
MyBatis一二级缓存介绍 MyBatis是一款流行的Java持久层框架,它提供了一种简洁的方式来访问和操作数据库。MyBatis中的缓存机制是为了提高数据库操作的性能,减少数据库查询的次数。下面将详细介绍MyBatis的一二级...
此文件是一个简单的ssi,也就是spring+springmvc+mybatis的例子,简单的增删改查,数据库很简单,看看entity就能知道.上面还加了一些前端的JQ,和一个Dialog框架,是学习的好例子。不过有点大,主要是里面的lib包太大,...
1.下载插件 插件下载完毕,存放指定位置,文件名默认应该是:mybatis-plus.jar 2.打开Intellij idea工具,打开菜单 File --> settings 选择 Plugs,点击...3.插件安装后,打开settings,会有Mybatis一项,大家可以看看
在IT行业中,Mybatis是一个广泛使用的持久层框架,它提供了灵活的SQL映射功能和简单的对象映射,使得Java开发者可以方便地操作数据库。本文将深入探讨Mybatis的基础知识,特别是针对“Mybatis案例一所用建表语句”,...
【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...
本教程将带你一步步走进Mybatis的世界,通过“第一个Mybatis程序”的实例学习其基本概念和操作流程。 一、Mybatis简介 Mybatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,专注于简化数据库...
MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,将接口和 ...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在深入探讨MyBatis 3.2.6版本的源码之前,我们首先需要了解MyBatis的基本概念和功能。 MyBatis的核心部分主要包括SqlSessionFactory、...