没有合适的资源?快使用搜索试试~ 我知道了~
MyBatis框架的学习
需积分: 9 0 下载量 176 浏览量
2022-05-28
17:26:15
上传
评论
收藏 796KB PDF 举报
温馨提示
试读
28页
MyBatis框架的学习
资源详情
资源评论
资源推荐
配置数据库的连接
池:driver
com.mysql.cj.jdbc.Driver
数据库的地址:url
url=jdbc:mysql://localhost:3306/mdb?
useUnicode=true&characterEncoding=utf-8
数据库的姓名:user root
数据库的的密码 123456
namespace namespace="com.book.dao"导入Mapper.xml文件包名
resource resource="你要将Mapper.xml文件中"导入完整的路径
resultType="int" resultType="表示该sql语句执行结束后,得到的返回值的类型"
Mybatis的占位符
MyBatis框架中使用的占位符#{字段名}等价于jdbc? ${字段名} 等价于
java+连接符
parameterType 该属性控制转入的数据的数据类型的数值
4月21号MyBatis的入门程序和环境配置(第
一课回顾)查询学生表的数量
第一步:导入MyBatis的框架的架包.
第二步将resources文件转换为资源文件。
第三步配置database.properties文件中的四个参数。
##
第四步配置mybatis-config.xml文件**
第五步建立包名为com.student.dao层在Mapper.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> -->
<configuration>
<!--将database.properties文件加载至该主配置文件进行统一管理-->
<properties resource="database.properties"></properties>
<!--设置项目的运行环境-->
<!--注意:default标签上填写的内容必须要和id属性的内容一致-->
<environments default="development">
<environment id="development">
<!--配置操作数据库的事务管理器-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${user}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
</configuration>
<!--将映射文件导入到此文件中-->
<mappers>
<mapper resource="com/student/dao/Mapper.xml"></mapper>
<!--<mapper resource="com.student.dao.IStudentTest"></mapper>-->
<!--文件注册-->
</mappers>
<?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.student.dao.Mapper">
<select id="getStudentNumber" resultType="int">
select count(*) from student
</select>
</mapper>
package com.student.test;
import com.student.entity.Student;
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 org.junit.Test;
第七步运行结果如下说明你的MyBatis程序配置成功。
4月22号在此基础上对MyBatis框架深入学习.
对Mysql数据的增伤改查。MyBatis对数据操
作的第一种方式。
重点内容:数据的增删改查的基础操作从易到难
import java.beans.Transient;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class StudentTet1 {
SqlSession ss = null;
public void init() {
//@1 将mybatis的主配置文件加载至java代码
try {
InputStream is = Resources.getResourceAsStream("mybatis-
config.xml");
//@2创建sql工厂`生成器
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//@3获得工厂对象
SqlSessionFactory factory = builder.build(is);
//@4通过工厂对象获得操作sql语句的对象
ss = factory.openSession();
//@5查询的结果是一个单个的数据
} catch (IOException e) {
e.printStackTrace();
}
}
/*查询学生数量*/
@Test
public void Number() {
init();
int i = ss.selectOne("com.student.dao.Mapper.getStudentNumber");
System.out.println("查询到的学生总数量为第 :" + i + "本");
System.out.println(ss);
查询数据
insert into student (name,sex,age,phone,address) values (#{name},#{sex},#{age},#
{phone},#{address})增加数据
delete from student where id =#{id} 删除数据
update student set sex=#{sex},age=#{age}, address=#{address} where id=#{id}修改数据
1查询学生的所有名单
2增加一条学生的名单。
3查询书籍指定的id名
<select id="selectStudent" resultType="Map">select * from student</select>
@Test
public void select() {
init();
/*list跳调用Map集合*/
List<Map<String, Object>> students =
ss.selectList("com.student.dao.Mapper.selectStudent");
students.forEach(map -> System.out.println(map));
}
<insert id="addStudent" parameterType="map">
insert into student (name,sex,age,phone,address) values (#{name},#{sex},#
{age},#{phone},#{address})
</insert>
/*增加一条语句的内容*/
@Test
public void insert() {
//Map集合的方式存放数据
init();
Map<String, Object> map = new HashMap<>();
map.put("name", "王五");
map.put("sex", "男");
map.put("age", "56");
map.put("phone", "189675478");
map.put("address", "江西南昌");
int i = ss.insert("com.student.dao.Mapper.addStudent", map);
ss.commit();
if (i > 0) {
System.out.println("增加成功");
}
}
4查询作者为曹雪芹 价格为123 的书名
5查询作者为曹雪芹 价格为123 的书名
<!--查询书籍-->
<!--@1 MyBatis框架中使用的占位符#{字段名}等价于jdbc? ${字段名} 等价于java+连
接符-->
<!--parameterType="int" 该属性控制转入的数据的数据类型的数值
-->
<select id="getBookName" resultType="String" parameterType="int">
select name from book where id=#{id}
</select>
@Test
public void two() {
//将mybatis的主配置文件加载至java代码
//查询的结果是一个单个的数据
//命名空间+id的值
init();
/* String name=ss.selectOne("com.book.dao.getBookName",转入的数字类型);*/
String name = ss.selectOne("com.book.dao.getBookName", 2);
System.out.println("查询的书籍名称为:" + name);
}
<!--查询作者为曹雪芹 价格为123 的书名-->
<!--如果sql需要转入两个条件 parameterType=""Map集合或者自定义实体类 -->
<select id="getBookName1" resultType="String" parameterType="Map">
select name from book where author=#{author} and price=#{price}
</select>
@Test
public void three() {
/*封装到MaP集合数值名称与sql占位符保持一致*/
init();
Map<String, Object> map = new HashMap<>();
map.put("author", "曹雪芹");
map.put("price", 123);
String name = ss.selectOne("com.book.dao.getBookName1", map);
System.out.println("查询的书籍名称为:" + name);
}
<!--parameterType="com.book.entity.book" 实体类-->
<select id="getBookName2" resultType="String"
parameterType="com.book.entity.book">
select name from book where author=#{author} and price=#{price}
</select>
剩余27页未读,继续阅读
人生的方向随自己而走
- 粉丝: 2644
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0