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 一对多性能优化 demo mybatis 一对多性能优化 demo
Mybatis一对一增删修改查完整项目,是基于人与身份证的实体类,project可导入idea,建设mysql的表,改一下mysql连接就能直接运行,Mybatis一对一增删修改查完整项目,Mybatis一对一增删修改查完整项目
MyBatis一对多映射实例,代码完整,可运行
【MyBatis学习笔记六】——MyBatis一对一,一对多,多对一,多对多.zip博客地址:https://blog.csdn.net/weixin_43817709/article/details/117537580
就是代码而已《哈哈哈》
本项目实用Spring + Spring MVC + Mybatis。数据库实用Mysql数据库 项目主要涉及,SSM框架的配置搭建,涉及Mybatis一对多的插入和查询,同时也涉及到一些简单的文件上传和下载.
自己根据mybatis文档测试其中的一对一,一对多,association,collection的使用,更有利于理解。
配套博客内容,mybatis一级缓存和二级缓存简单示例,供初学童鞋予以参考。 博客地址 https://blog.csdn.net/magi1201/article/details/85524712
MyBatis简单的一对一和一对多测试,表根据JavaBean自己创建,测试已通过
一对多的选择和插入,数据比较简单,自己建立一下表
mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio mybatis一级二级缓存流程图.drawio
mybatis 一对多 多对一
一对多,从多得一方取出一的一方.只是一个小例子,表结构能才出来的
mybatis 一对一 一对多例子 oracle 数据库 ,xml配置,方法
只是代码
mybatis 一对多反过来
Mybatis一级、二级缓存介绍.zip