首页
Search
1
redis的下载和安装
57 阅读
2
Vue的异步操作
56 阅读
3
java连接redis
44 阅读
4
redis得基本操作
40 阅读
5
网络设备的描述
39 阅读
vue
redis
网络基础
mybatis
Spring
登录
Search
标签搜索
vue
redis
mybatis
limei
累计撰写
21
篇文章
累计收到
390
条评论
首页
栏目
vue
redis
网络基础
mybatis
Spring
页面
搜索到
1
篇与
的结果
2023-07-17
Mybatis的基本使用
什么是Mybatis Mybatis的搭建步骤 什么是Mybatis mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。MyBatis官网地址:http://www.mybatis.org/mybatis-3/ Mybatis的搭建步骤MyBatis开发步骤: ①添加MyBatis的jar包 ②创建Student数据表 ③编写Studentr实体类 ④编写映射文件StudentMapper.xml ⑤编写核心文件MyBatisConfig.xml ⑥编写测试类*** 测试案例目录结构 *** jdbc.properties 编写Studentr实体类 package com.limei.bean; import java.util.Date; public class Student { private String id; private String name; private Date birthday; private String address; public Student() { } public Student(String id, String name, Date birthday, String address) { this.id = id; this.name = name; this.birthday = birthday; this.address = address; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Student{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", birthday=" + birthday + ", address='" + address + '\'' + '}'; } } ④编写映射文件StudentMapper.xml <?xml version="1.0" encoding="UTF-8" ?> <!--MyBatis的DTD约束--> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- mapper:核心根标签 namespace属性:名称空间 --> <mapper namespace="StudentMapper"> <!-- select:查询功能的标签 id属性:唯一标识 resultType属性:指定结果映射对象类型 parameterType属性:指定参数映射对象类型 --> <select id="selectAll" resultType="student"> SELECT * FROM student </select> <update id="update" parameterType="student"> UPDATE student SET name = #{name},birthday = #{birthday},address=#{address} WHERE id = #{id} </update> </mapper> ⑤编写核心文件MyBatisConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!--MyBatis的DTD约束--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--configuration 核心根标签--> <configuration> <!--引入数据库连接的配置文件--> <properties resource="jdbc.properties"/> <!--配置LOG4J--> <settings> <setting name="logImpl" value="log4j"/> </settings> <!--起别名--> <typeAliases> <typeAlias type="com.limei.bean.Student" alias="student"/> <!--<package name="com.limei.bean"/>--> </typeAliases> <!--environments配置数据库环境,环境可以有多个。default属性指定使用的是哪个--> <environments default="mysql"> <!--environment配置数据库环境 id属性唯一标识--> <environment id="mysql"> <!-- transactionManager事务管理。 type属性,采用JDBC默认的事务--> <transactionManager type="JDBC"></transactionManager> <!-- dataSource数据源信息 type属性 连接池--> <dataSource type="POOLED"> <!-- property获取数据库连接的配置信息 --> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <!-- mappers引入映射配置文件 --> <mappers> <!-- mapper 引入指定的映射配置文件 resource属性指定映射配置文件的名称 --> <mapper resource="StudentMapper.xml"/> </mappers> </configuration> 编写测试类 package com.limei.dao; import com.limei.bean.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; import java.io.InputStream; import java.util.List; public class StudentTest01 { /* 查询全部 */ @Test public void selectAll() throws Exception{ //1.加载核心配置文件 //InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); InputStream is = StudentTest01.class.getClassLoader().getResourceAsStream("MyBatisConfig.xml"); //2.获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); //3.通过SqlSession工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //4.执行映射配置文件中的sql语句,并接收结果 List<Student> list = sqlSession.selectList("StudentMapper.selectAll"); //5.处理结果 for (Student stu : list) { System.out.println(stu); } //6.释放资源 sqlSession.close(); is.close(); } /* 修改功能 */ @Test public void update() throws Exception{ //1.加载核心配置文件 InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml"); //2.获取SqlSession工厂对象 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); //3.通过工厂对象获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //SqlSession sqlSession = sqlSessionFactory.openSession(true);为自动提交事务 //String类型转换为Date类型 String str ="2000-02-26"; SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ); Date date = sdf.parse ( str ); //4.执行映射配置文件中的sql语句,并接收结 Student stu = new Student("10001","阿画",date,"河南省周口市"); int result = sqlSession.update("StudentMapper.update",stu); //5.提交事务 sqlSession.commit(true); //6.处理结果 System.out.println(result); //7.释放资源 sqlSession.close(); is.close(); } } 查询结果
2023年07月17日
28 阅读
0 评论
0 点赞