Mybatis入门程序(单表的增删改成)

这里讲的单表的增删改查,是由mapper代理的增删改查,先来看看步骤:

    1.jar包的导入

    2.配置全局的配置文件

    3.建立接口

    4.编写mapper.xml

    5.测试

    工程结构:这个你们自己可以调整,不一定和我一样

  

    目录解析:

       com.etc.mapper:这个包放的就相当于是dao的接口(com.etc.dao)

      config/mapper:这个放的就是操作数据库的相当于dao的实现类(com.etc.dao.impl)

      mybatis-config.xml:这个就是mybatis的全局配置文件

      com.etc.test: 测试你增删改查是否成功

    1.jar的导入(其实只要最后两个就可以了,这里这么多是因为后期还会用到一些所以就全都加进去省的麻烦)

    

    2.配置全局配置配置文件(目前只有两个:数据源,告诉mybatis实现类mapper.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>
    <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/student" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/student-mapper.xml"/>//mapper.xml的位置
    </mappers>
</configuration>

    3.编写接口 

public interface StudentMapper {
    //增加一个学生
    public void addStudent(Student student);
    //删除一个学生
    public void deleteById(int sid);
    //更新一个学生
    public void updateStudent(Student student);
    //根据ID查找学生
    public Student findById(int sid);
    //查询全部的学生
    public List<Student> findAll();
}

   4.编写mapper.xml

  其中:

      namespace:命名空间

      id:唯一标识

      parameterType:传入的参数类型(全路径)

      resultType(放回的结果集记录的类型,这里是你单条记录是什么类型,多条记录就是什么类型)

  使用mapper代理的开发模式有几个注意点:

    1.mapper的命名空间指向的必须是你的接口全路径

    2.mapper底下语句的id必须和你接口的方法名一致

    3.mapper底下语句的参数类型必须和你接口的入参类型一致

    4..mapper底下语句的返回结果类型必须和你接口中的一致(集合的话,匹配单条记录)

    5.你要把mapper配置到mybatis的全局配置中去

  <mappers>
        <mapper resource="mapper/student-mapper.xml"/>//mapper.xml的位置
    </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">
<!--命名空:作用:就是对sql进行分类化管理  -->
<mapper namespace="com.etc.mapper.StudentMapper">
    <!-- 添加用户 -->
    <insert id="addStudent" parameterType="com.etc.entity.Student">
        insert into t_student (name,sex,hobbies) value(#{name},#{sex},#{hobbies})
    </insert>
    <!-- 根据ID删除学生 -->
    <delete id="deleteById" parameterType="java.lang.Integer">
        delete from t_student where sid=#{sid}
    </delete>
    <!-- 更新学生信息 -->
    <update id="updateStudent" parameterType="com.etc.entity.Student">
        update t_student set name=#{name},sex=#{sex},hobbies=#{hobbies} where sid=#{sid}
    </update>
        <!--根据ID查找学生  -->
    <select id="findById" parameterType="java.lang.Integer" resultTypep="com.etc.entity.Student">
        select sid sid_,name name_,sex sex_,hobbies hobbies_ from t_student where sid=#{sid}
    </select>
    <!-- 查找全部学生 -->
    <select id="findAll" parameterType="com.etc.entity.Student"  resultType="com.etc.entity.Student">
        select * from t_student
    </select>
</mapper>

    5.编写测试代码(Junit测试)(实体类记得给一个空的构造函数供初始化,否则会报初始化异常)

@Test
    public void findById() throws IOException{
        //mybatis的配置文件
        String resource="mybatis-config.xml";
        //得到配置文件流
        InputStream inputStream= Resources.getResourceAsStream(resource);
        //创建会话工厂,需要传入Mybatis的配置文件信息
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //通过工厂得到SqlSession
        SqlSession session=sessionFactory.openSession();
        //创建StudentMapper对象,mybatis自动生成代理对象
        StudentMapper studentMapper=session.getMapper(StudentMapper.class);
        Student student=studentMapper.findById(1);
        System.out.println(student);
        //资源释放
        session.close();
    }
时间: 2024-08-04 18:35:14

Mybatis入门程序(单表的增删改成)的相关文章

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr

web day19 Service层处理事务(利用ThreadLocal),TxQueryRunner小工具,单表练习(增删改查操作),分页

Service事务 DAO中不是处理事务的地方,因为DAO中的每个方法都是对数据库的一次操作 在Service中不应该出现Connection,它应该只在DAO中出现, 因为它是JDBC的东西,JDBC的东西是用来连接数据库的 修改JdbcUtils 我们把对事务的开启和关闭放到JdbcUtils中,在Service中调用JdbcUtils的方法来完成事务的处理, 但在Service中就不会再出现Connection这一"禁忌"了. 代码 public class JdbcUtils

3.django模板,单表ORM增删改查

1.Django模板语法 模板语法: 变量: {{}} 1 深度查询 句点符 2 过滤器 {{val|filter_name:参数}} 标签: {% %} 1.1Django模板使用 from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request,"index.html",{"current_t

Mybatis(一)实现单表的增删改查

1.1 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyBatis参考资料官网:https:/

django 利用ORM对单表进行增删改查

牛小妹上周末,一直在尝试如何把数据库的数据弄到界面上.毕竟是新手,搞不出来,文档也看不懂.不过没关系,才刚上大学.今晚我们就来解释下,要把数据搞到界面的第一步.先把数据放到库里,然后再把数据从库里拿出来. 以下内容,参考django官方文档 . 1.创建MODEL 这里和官方文档一致.直接拷出来,放到一个叫models的py文件里面.若是你的项目中没有,一定不要觉得无处写代码.你自己建一个即可 同步数据库: 执行以下命令.不懂的可以参考:django连接mysql python manage.p

23Spring_JdbcTemplate来实现单表的增删改查

第一步建表: 第二步:编写product表的实体类 public class produce { private int id; private String name; private String price; /** * @return the id */ public int getId() { return id; } /** * @param id the id to set */ public void setId(int id) { this.id = id; } /** * @

MYSQL基础操作之单表的增删改查

一.添加数据. -- 1.创建表,并插入一定的数据. 1 CREATE TABLE STUDENT( 2 ID INT, 3 USERNAME VARCHAR(20), 4 SERVLET INT, 5 JSP INT, 6 ADDRESS VARCHAR(30) 7 ); 8 INSERT INTO STUDENT VALUES (1,'张三',23,84,'京口区'); 9 INSERT INTO STUDENT VALUES (2,'李四',36,74,'润州区'); 10 INSERT

Hibernate和jsp做数据库单表的增删改查

虽然很基础,但是我转牛角尖了~~~~这是几个文件 1.最重要的.Java文件 1 package com.chinasofti.hibb.struts; 2 3 4 import org.hibernate.Session; 5 import org.hibernate.SessionFactory; 6 import org.hibernate.Transaction; 7 import org.hibernate.cfg.Configuration; 8 import com.chinaso

一、Mybatis 单表 常用增删改查

1.编写sql表,插入原始数据 1 -- 删除表 2 DROP TABLE testA; 3 -- 创建表 4 CREATE TABLE testA( 5 id INT AUTO_INCREMENT PRIMARY KEY, 6 username VARCHAR(50), 7 date1 DATETIME, 8 str_date VARCHAR(50), 9 date_str DATE 10 ) 11 -- 插入数据 12 INSERT INTO testA(username,date1,str