常州百度网站排名安阳网站建设推广优化
web/
2025/9/27 16:40:27/
文章来源:
常州百度网站排名,安阳网站建设推广优化,小视频网址源码,淘宝官网登录入口一、概述
1、起源
MyBatis本是Apache下的开源项目#xff0c;名为iBatis,2010年转投谷歌,从iBatis3.x开始更名为MyBatis
2、优点
(1)优秀的数据持久层框架#xff08;对jdbc做了轻量级封装#xff09;
3、特点
(1)对jdbc中接口进行封装的同时还提供了一些自己的类实现…一、概述
1、起源
MyBatis本是Apache下的开源项目名为iBatis,2010年转投谷歌,从iBatis3.x开始更名为MyBatis
2、优点
(1)优秀的数据持久层框架对jdbc做了轻量级封装
3、特点
(1)对jdbc中接口进行封装的同时还提供了一些自己的类实现
(2)将数据库连接配置提取到了xml文件
(3)将sql语句提取到了xml文件
(4)可使用注解方式执行sql
(5)可实现对象关系映射orm(将数据库中的记录映射到java对象pojo)
(6)支持动态sql(可在sql中进行逻辑处理)以及数据缓存
二、前期准备
1、创建数据库并创建一个表
2、创建maven项目
3、添加依赖 !--mybatis--dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.2/version/dependency!--mysql--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.16/version/dependency 4、创建mybatis配置文件核心配置文件 ?xml version1.0 encodingUTF-8?
module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModuletrue typeJAVA_MODULE version4component nameNewModuleRootManager LANGUAGE_LEVELJDK_1_8output urlfile://$MODULE_DIR$/target/classes /output-test urlfile://$MODULE_DIR$/target/test-classes /content urlfile://$MODULE_DIR$sourceFolder urlfile://$MODULE_DIR$/src/main/java isTestSourcefalse /sourceFolder urlfile://$MODULE_DIR$/src/main/resources typejava-resource /sourceFolder urlfile://$MODULE_DIR$/src/test/java isTestSourcetrue /sourceFolder urlfile://$MODULE_DIR$/src/test/resources typejava-test-resource /excludeFolder urlfile://$MODULE_DIR$/target //contentorderEntry typejdk jdkName1.8 jdkTypeJavaSDK /orderEntry typesourceFolder forTestsfalse /orderEntry typelibrary nameMaven: org.mybatis:mybatis:3.4.2 levelproject /orderEntry typelibrary nameMaven: mysql:mysql-connector-java:8.0.16 levelproject /orderEntry typelibrary nameMaven: com.google.protobuf:protobuf-java:3.6.1 levelproject //component
/module
5、创建一个访问接口和一个类 public interface AdminDao {Admin findAdminById(int id);
}
public class Admin {private int id;private String account;private String password;private String gender;public int getId() {return id;}public void setId(int id) {this.id id;}public String getAccount() {return account;}public void setAccount(String account) {this.account account;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}Overridepublic String toString() {return Admin{ id id , account account \ , password password \ , gender gender \ };}
}6、创建一个映射文件 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
!-- namespace 接口地址 全类名 --
mapper namespacecom.ffyc.mybatispro.dao.AdminDaoselect idfindAdminById parameterTypeint resultTypecom.ffyc.mybatispro.model.Adminselect * from admin where id #{id}/select
/mapper
三、测试mybatis的功能-从数据库查询中获取一个封装好查询结果的对象
public static void main(String[] args) throws IOException {// 1、读取mybatis核心配置文件InputStream inputStream Resources.getResourceAsStream(mybatis.xml);// 2、创建SqlSessionFactory,用来创建SqlSessionSqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);// 3、创建SqlSession对象负责每一次与数据库会话SqlSession sqlSession sqlSessionFactory.openSession();// 4、创建访问接口的代理对象// 通过命名空间直接调用配置文件中的sql//Admin admin sqlSession.selectOne(aaa.findAdminById, 1);AdminDao adminDao sqlSession.getMapper(AdminDao.class);// 5、通过代理对象访问接口中的方法最终由代理对象去调用sql映射文件中与方法名相同的id对应的sqlAdmin admin adminDao.findAdminById(1);System.out.println(admin);// 6、关闭本次会话sqlSession.close();}
四、总结
使用mybatis与数据库进行会话核心有4个类加5个步骤
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;InputStream inputStream Resources.getResourceAsStream(mybatis.xml);
SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession sqlSessionFactory.openSession();
AdminDao adminDao sqlSession.getMapper(AdminDao.class);
sqlSession.close();
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82866.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!