Mybatis入门
1.MyBatis下载
1.在gitHub搜索mybatis 选择mybatis/mybatis-3
 
 下拉
 
 里面就有了
2.MyBatis是什么
是一个框架
 可以定做话sql语句,存储过程以及高级映射。
 代替了JDBC 只需要书写sql语句 MyBatis自己来执行
 持久层框架
 是一个半自动化的ORM框架
 O:Object——对象 R:Relation——表 M: mapping——映射(有全自动 但是效率低难度高)
是一个框架 早期叫ibatis, 代码在GitHub
 MyBatis SQL Mapper Framework for Java:适用于 Java 的 MyBatis SQL 映射器框架
 1.SQL mapper: sql映射
 可以吧数据库表中的一行数据映射为一个对象
 一行数据可以看成一个java对象 ,操作这个对象,就相当于操作表中的数据
2.Data Access objects (DAOS)。数据访问 ,对数据库进行增删改查
3.mybatis有什么用
1。提供创建啦 Connection MStatement  ResultSet的能力 ,不用开发人员创建
2。可以执行SQL语句的能力,不用你执行
3。提供了吧SQL结果转换成list集合的能力
4.还具备管闭资源的能力
你能干什么 就是提供sql语句
4.MyBatis怎么用(Maven)简单的查询
1.创建项目
 
 2.下一步
 
 3。下一步
 
 4。 等待下载资源保障网络
5.准备jar包
 
<!--mybaitsjar包-->
 <dependency> 
	 <groupId>org.mybatis</groupId>
 	 <artifactId>mybatis</artifactId> 
  	 <version>3.5.2</version> </dependency> 
  <!--加载mysql的jar包--> 
<dependency> 
  <groupId>mysql</groupId> 
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.16</version> 
</dependency>

- 在idea的右边点击Maven 点击工具栏第一个刷新 会自动下载jar包
 ![在这里插入图片描述]() 
 7,右键main创建java 文件夹和 resources文件夹
 ![在这里插入图片描述]() 
 8.创建主配置文件和映射文件
 ![在这里插入图片描述]() 
 9.书写主配置文件和映射文件
 mybatis。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="a"默认数据源
        environment:单个环境 id:唯一性标识
          transactionManager:事务管理——**jdbc java管理   Managed:容器管理——tomcat
          dataSource:数据源:unpooled:普通打开方式   pooled:数据库连接池   JNDI:远程数据库连接
    -->
    <!--作用:加载properteis文件的  resources java都是classpath根,现在是两个文件夹,发布后是一个-->
    <properties resource="druid.properties"></properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driverClassName}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/Teacher.xml"/>
    </mappers>
</configuration>
Book。xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace:定位文件:namespace+id-->
<mapper namespace="mapper.Teacher">
    <!--映射文件:sql--> <!--id:sql的名字 resultType:映射关系-->
    <select id="selectTeacher" resultType="java.util.Map">
        select * from t_book
    </select>
</mapper>
10,。书写测试类
public class MainTest {
    public static void main(String[] args) {
        try {
            InputStream is= Resources.getResourceAsStream("mybatis.xml");//获取主配置文件
            //创建工具类LsqlSessionFactory
            SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder();
            //SqlSessionFactory factory=builder.build(is,"development");//factory:sqlSession的工厂——基于数据源创建出来SqlSessionFactory
            // default="development"走默认    如果是默认的就后面的就可以不写
            SqlSessionFactory factory = Builder.build(is);
            SqlSession session=factory.openSession();//执行sql
            List<Object> objects = session.selectList("mapper.Book.selectBook");
            System.out.println(objects);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
- 运行测试类
5.MyBatis怎么用(Maven)简单的查询(利用接口查询)
1.创建接口和xml (接口和xml的名字要对应)
 
 
 2.设置加载主配置文件
 
 
 3.设置测试类测试
   public static void main(String[] args) {
        try {
            InputStream is= Resources.getResourceAsStream("mybatis.xml");//找主配置文件
            SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();//工具类:创建slqSessionFactory
            //SqlSessionFactory factory=builder.build(is,"development");//factory:sqlSession的工厂——基于数据源创建出来SqlSessionFactory
            // default="development"走默认
            SqlSessionFactory factory=builder.build(is);
            SqlSession session=factory.openSession();//执行sql的
            
            //mapper.Teacher.selectTeacher
            List<Map> list=session.selectList("mapper.Teacher.selectTeacherName");//框架的强大可以直接吧
            System.out.println(list);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
6.利用接口类实现查询
设置接口对应映射文件
 注意主配置文件的修改
 
7.修改删除添加
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.person">
    <resultMap id="entity" type="com.entiy.Person">
        <id column="id" property="id"></id>
        <result column="professional" property="professional"></result>
    </resultMap>
    <!--  resultType ==结果类型   parameterType== 参数类型 -->
    <select id="selectByidentity" resultType="com.entiy.Person" parameterType="java.lang.Integer">
        SELECT * FROM person WHERE ID = #{id}
    </select><select id="selectByidMap" resultType="java.util.Map" parameterType="java.lang.Integer">
        SELECT * FROM person WHERE ID = #{id}
    </select>
    <select id="selectListentiy" resultType="java.util.Map"  >
        SELECT * FROM person
    </select>
    <select id="selectListMap" resultType="java.util.Map">
        SELECT * FROM person
    </select>
    <!-- 修改删除新增 默认返回影响条数  -->
    <delete id="deleteByid"   parameterType="java.lang.String">
        delete from person where id = #{id}
    </delete>
    <update id="updateentiy" parameterType="com.entiy.Person">
        update person set name=#{name},age=#{age} where id=#{id}
    </update>
    <insert id="insertMap" parameterType="java.util.Map">
        insert into person values (null,#{name},#{age},#{professional})
    </insert>
</mapper>
 
                     
                    
                 
                    
                



 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号