Mybatis增删改查实例
2017-08-17 20:35
225 查看
一.什么是MyBatis
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
二.创建数据库表
三.配置pom.xml(用的maven创建的)需要加入依赖
四.
五.配置baits-config.xml
六.studentMapper
七.StudentMapper.xml (最好和你上边的mapper名字对应)
八.db.propertise
九.输出
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
二.创建数据库表
create table student (id integer primary key auto_increment, name varchar(100), sex varchar(100), hobby varchar(200)); insert into student values(null, 'zhangsan','male','吃吃吃'); insert into student values(null, 'lisi', 'female','玩玩玩');
三.配置pom.xml(用的maven创建的)需要加入依赖
<!--mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <dependency> 还需要在build 下面加入 <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> </resources>
四.
五.配置baits-config.xml
<?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="db.properties"/> <!--别名--> <typeAliases> <!--将这个包下面的对应的类别名设置为类名--> <!--下面这个写你的bean名字--> <package name="com.xxx.bean"/> </typeAliases> <!--这是mybatis 的配置文件 如果单独使用mybatis,必须写这个文件 如果和spring 使用,不需要这个文件 这个里面所有的都是有顺序的--> <environments default="deve"> <!--这个environments 标签下可以配置很多歌environment 标签 使用default 属性来确定当前使用的是哪个environment--> <environment id="deve"> <!--事务管理器--> <transactionManager type="JDBC"></transactionManager> <!--连接池--> <dataSource type="POOLED"> <!--驱动--> <property name="driver" value="${jdbc_driver}"/> <property name="url" value="${jdbc_url}"/> <property name="username" value="${jdbc_username}"/> <property name="password" value="${jdbc_password}"/> </dataSource> </environment> </environments> <!--每次调用都需要填写--> <mappers> <!--自动识别设置的包下面的mapper.xml--> <!--下面这个写你的mapper名字--> <package name="com.xxx.mapper"/> </mappers> </configuration>
六.studentMapper
//1.创建一个xxx的Mapper的接口文件 public interface StudentMapper { List<Student> findAllStudent(); //带参数的batis方法的写法 //Student findAllStudentById(Integer id); Student findAllStudentById(@Param("uid") Integer id); //增加一条数据 void insertNewStudent(@Param("name") String name, @Param("sex") String sex, @Param("hobby") String hobby); //实体类的方式增加 void insertStu(Student student); void deleteById(@Param("uid") Integer id); void updateStudent(Student student); }
七.StudentMapper.xml (最好和你上边的mapper名字对应)
<?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"> <!--用namespace 来配置 当前接口,所有的实现都在xml中写,不会创建一个类来实现--> <mapper namespace="com.xxx.mapper.StudentMapper"> <!--结果映射 作用:把数据库的列名 和实体类的属性名关联起来--> <resultMap id="BaseMap" type="Student"> <!--把数据库中的id 赋值给了实体类的id--> <id column="id" property="id"/> <result column="name" property="name" javaType="String" jdbcType="VARCHAR"/> <result column="sex" property="sex" javaType="String" jdbcType="VARCHAR"/> <result column="hobby" property="hobby" javaType="String" jdbcType="VARCHAR"/> </resultMap> <!--可以封装一段比较固定的sql 语句.方便后续的debug--> <sql id="Base-sql"> id,name,sex,hobby </sql> <!--select 的id 是你的方法名字 --> <select id="findAllStudent" resultMap="BaseMap"> SELECT <include refid="Base-sql"/> FROM student </select> <select id="findAllStudentById" resultMap="BaseMap" parameterType="Integer"> SELECT * FROM student WHERE id=#{uid} </select> <insert id="insertNewStudent" > INSERT INTO student VALUES (NULL ,#{name},#{sex},#{hobby}) </insert> <!--塞进实体类 ,最好写paramType 告诉他参数是一个实体类 keyProperty 就是你塞完数据,会把这个id 帮你保存到这个里面--> <insert id="insertStu" useGeneratedKeys="true" keyProperty="id" parameterType="com.xxx.bean.Student"> INSERT INTO student VALUES (NULL ,#{name},#{sex},#{hobby}) </insert> <delete id="deleteById" > DELETE FROM student WHERE id=#{uid} </delete> <update id="updateStudent" parameterType="com.xxx.bean.Student"> UPDATE student SET name=#{name} ,sex=#{sex} ,hobby=#{hobby} WHERE id=#{id} </update> </mapper>
八.db.propertise
九.输出
public class BatisTest { @Test pub a4f6 lic void test1() throws IOException { //1. 配置mapper //2. 读取config 文件 //除了select 其他的都需要提交事务 InputStream stream = Resources.getResourceAsStream("batis-config.xml"); //创建session工厂 SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(stream); //打开一个session SqlSession sqlSession=factory.openSession(); //使用session 读取一个mapper 对象 StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); //调用findAllStudent方法 // List<Student> allStudent = mapper.findAllStudent(); // Student student = mapper.findAllStudentById(1); // System.out.println(allStudent); // System.out.println(student); // Student student=new Student(); // student.setName("zhangwu"); // student.setSex("男"); // student.setHobby("睡觉"); // mapper.insertNewStudent(student.getName(),student.getSex(),student.getHobby()); // sqlSession.commit(); //这个是增加一个实体类 Student student=new Student(); student.setName("曾小贤11"); student.setSex("男"); student.setHobby("睡觉"); mapper.insertStu(student); sqlSession.commit(); // mapper.deleteById(5); // sqlSession.commit(); } }
相关文章推荐
- Mybatis入门概述及第一个Mybatis实例实现增删改查
- 简述Mybatis增删改查实例代码
- Mybatis增删改查实例
- Mybatis增删改查实例
- Mybatis入门概述及第一个Mybatis实例实现增删改查
- Mybatis实现增删改查(CRUD)实例代码
- Mybatis的增删改查实例
- SpringBoot+Mybatis 完整实例 增删查改
- MyBatis框架配置及增删改查应用实例
- Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一)
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Mybatis实现数据的增删改查实例(CRUD)
- Mybatis增删改查实例
- Mybatis入门教程之增删查实例
- Mybatis 注解实例实现增删改查
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- mybatis实现对数据的增删查改实例详解
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】