初始Mybatis,好累,自己感觉自己快坚持不了了

Mybatis
1.持久化
持久化,就是内存数据和硬盘数据状态的转换

2.ORM思想
Object Relation Mapping 对象关系映射

3.MyBatis入门案例
3.1导入jar包
依赖
<!--MySQL配置-->
<dependency>
<groupId>MySQL</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
<!--MyBatis核心jar包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.2</version>
</dependency>

3.2书写大配置

<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/y2165"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
3.3实体类
public class StudentInfo {
private Integer stuId;
private String stuName;
private Integer stuAge;
private Date stuDate;
}

3.4小配置
<?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="cn.happy.dao.IStudentInfoDAO">
<select id="findAll" resultType="cn.happy.entity.StudentInfo">
select * from studentinfo
</select>
</mapper>

两个注意事项:
1.你得更新POM.xml文件中build节点
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>

2.你得在大配置中关联小配置文件
<mappers>
<mapper resource="cn/happy/dao/IStudentInfoDAO.xml"/>
</mappers>

3.5 写测试类
3.5.1 String path="大配置的路径名";
InputStream is=Resources.getResourcesAsStream(path);
SessionFactory factory=new SessionFactoryBuilder().build(is);
SqlSession session=factory.openSession();

结论:
1. 注意小配置的命名空间的名称

4.别名的使用
<typeAliases>
<!--<typeAlias type="cn.happy.entity.StudentInfo" alias="StudentInfo"></typeAlias>-->
<!--将该包中的简单类型 StudentInfo作为类的别名-->
<package name="cn.happy.entity"></package>
</typeAliases>

5.getMapper() 动态代理数据
class<T> 类型的类型
is = Resources.getResourceAsStream(path);
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
SqlSession session=factory.openSession();
IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class);
StudentInfo info = dao.getStudentById(3);
System.out.println(info.getStuName());

时间: 2024-09-28 18:04:38

初始Mybatis,好累,自己感觉自己快坚持不了了的相关文章

初始mybatis

1. MyBatis 本是的apache一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code, 并且改名为MyBatis . iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps 和Data Access Objects(DAO) 2. ① 首先你需要的工具是eclipse和安装了mysql服

戴眼镜最近眼睛很累,感觉有压力一样,眼压过大;摘掉眼镜后,感觉又好一些,求专业人士原因?

注:本人戴了七六年的眼镜了,L475,R400度的样子(视力:L1.0  R1.0),最近一年来眼睛突然很累,胀.有人说可能是青光眼,所以很担忧,难道我才25岁就有青光眼了吗? 感谢!! 一.我去了北京武警总医院,北京协和医院,北京同仁医院(孙旭光,李纳),武汉协和医院,今年分别去看了专家20多次,用了一堆药.汇总情况如下: 病情:先是带眼镜带长了时间后,眼胀,不适,累,不想带眼镜,眼下有黑眼圈,后来眼干.我平时用电脑比较多,开发程序盯电脑时间长.主要是中午和下午,其它时间没问题. 不在室内(封

初始myBatis(三)

一.MyBatis的核心配置文件 properties可以配置在java属性文件中 properties可以直接配置,也可以通过属性文件配置,如果两种方法同时存在, setting修改MyBatis在运行时的行为方式 typeAliases 为java的实体类起一个别名 environments 环境 可以配置多套MyBatis运行环境,其子节点是environment,必须要指定一个默认的运行环境,通过default属性指定 environment变量 transactionManager 实

MyBatis 与 Hibernate 到底哪个更快?

前言 由于编程思想与数据库的设计模式不同,生出了一些ORM框架. 核心都是将关系型数据库和数据转成对象型.当前流行的方案有Hibernate与myBatis. 两者各有优劣.竞争激烈,其中一个比较重要的考虑的地方就是性能. 因此笔者通过各种实验,测出两个在相同情景下的性能相关的指数,供大家参考. 友情提示:如果你嫌弃文章太长,可以拉到文末看结论即可. 测试目标 以下测试需要确定几点内容: 性能差异的场景: 性能不在同场景下差异比: 找出各架框优劣,各种情况下的表现,适用场景. 测试思路 测试总体

Mybatis学习——初始MyBatis

什么是MyBatis框架? MyBatis框架是一种ORM(既对象关系映射)框架. 什么是ORM框架? 是一种为了解决面向对象与关系数据库之间数据不匹配的技术,它通过描述Java对象和关系数据库表之间的映射关系,自动的将Java应用程序中的对象持久化到关系数据库表中, 映射的好处:操作与表相映射的对象就可以操作表,不需要再直接访问数据库底层. 使用ORM框架,应用程序不再直接访问底层数据库,而是以面向对象的方法来操作持久化对象,ORM框架会通过映射关系将这些数据库的操作转换成底层的SQL操作.

使用SMM框架开发企业级应用-----初始Mybatis的模糊查询以及自动映射

在学习MyBatis过程中想实现模糊查询,下面列举几种方式:1.用${…}代替#{…}    SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');  2.  bind标签  3. CONCAT Mybatis的自动映射 0x00:引子 在 MyBatis 的映射配置文件中,select 标签查询配置结果集时使用过 resultType 属性,当在 resultType 中定义一个 Java 包装类时,

MyBatis学习(一)初始MyBatis

本文借鉴:MyBatis[快速入门](特此感谢!) 初识MyBatis 一.MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,是一个基于Java的持久层框架. 持久层: 可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏,在断电或者其他情况下,重新开启系统仍然可以读取到这些数据. 优点: 可以使用巨大的磁盘空间存储相当量的数据

初始MyBatis(二)

春节后的第一次课 1.整合日志(log4j和logback) (1)log4j和logback都是一个日志记录框架 (2)appender记住两个 stdout控制台显示日志,file记录文件中 (3)床用的5种日志级别(由高到低) fatal>error>trace>info>debug (4)log4j的整合步骤 1)在resources加入名称为log4j.properties的物理文件 2)在最后一行加入log4j.logger.(自己的包名)=debug,srdout,f

让QT编译快一点(增加基础头文件)

姚冬,中老年程序员 进藤光.杨个毛.欧阳修 等人赞同 我是来反对楼上某些答案的.我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验.纠正几个错误的认识. 1. “用Qt写的程序编译比MFC慢”的说法是错误的绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有类的设计,把没必要公开的声明放到私有头文件里,避免了编译时引入过多代码.而MFC没