MyBatis创建项目

1、创建项目   导入jar包

创建包目录如下

这里  com.dongline.mybatistest包存放的java代码,

config存放的全局配置文件和映射文件

2、编写核心配置文件 mybatis-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>
<!-- 全局配置文件 -->
      <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/store?    characterEncoding=utf-8"/>
                 <property name="username" value="root"/>
                 <property name="password" value="123456"/>
             </dataSource>
         </environment>
     </environments>

 </configuration>

3、编写实体类,以及创建相对应的表结构

package com.dongline.mybatistest;

public class Person {

    String personname;
    String persongpassword;
    int persongid;
    String personmail;
    @Override
    public String toString() {
        return "Person [personname=" + personname + ", persongpassword=" + persongpassword + ", persongid=" + persongid
                + ", personmail=" + personmail + "]";
    }
    public String getPersonname() {
        return personname;
    }
    public void setPersonname(String personname) {
        this.personname = personname;
    }
    public String getPersongpassword() {
        return persongpassword;
    }
    public void setPersongpassword(String persongpassword) {
        this.persongpassword = persongpassword;
    }
    public int getPersongid() {
        return persongid;
    }
    public void setPersongid(int persongid) {
        this.persongid = persongid;
    }
    public String getPersonmail() {
        return personmail;
    }
    public void setPersonmail(String personmail) {
        this.personmail = personmail;
    }
}

4、编写映射文件(mapper)

<?xml version="1.0" encoding="UTF-8" ?>   
<!DOCTYPE mapper   
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> 
<!-- 映射文件 -->
<mapper namespace="test">
<select id="findPersonByName" resultType="com.dongline.mybatistest.Person" parameterType="java.lang.String">
select * from person where personname=#{id}          
</select>


</mapper>

注意:

  • 这里id是我们调用这个select的唯一标识。
  • resultTpye是这个查询语句结果所对应的单个对象类型(当查询结果为List时每个结果的类型)
  • parameterType是输入类型我们看到sql语句中的personname=#{id} #{id}所对应的类型
  • 其中#{}代表一个输入参数(是防sql注入的)

5、我们映射文件配置好了但是没有与jdbc关联,这里就需要mybatis来关联我们的映射文件

在全局配置文件( mybatis-config.xml)中添加

 <mappers>
     <mapper resource="config/person.xml"/>
     </mappers>

就实现了映射文件的配置

mappers可以添加多个mapper那就意味着可以用这一个配置文件关联多个映射文件

6、用mybatis来实现查询数据库

在com.dongline.mybatistest下新建一个测试类Test.java

package com.dongline.mybatistest;

import java.io.IOException;
import java.io.InputStream;

import javax.annotation.Resource;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

    public static void main(String[] args) throws Exception {
        
        String resource="config/mybatisconfig.xml";
        //通过Resources.getResourceAsStream(resource)获取resource输入流
        InputStream in= Resources.getResourceAsStream(resource);
        //获取SqlSession工厂,这个是会话工厂。
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in);
        //建立我们的会话 session
        SqlSession session=factory.openSession();
        //通过会话session中的增删改查关联我们映射文件中配置的id就能调用我们的sql语句了。  
        //                                     第一个参数为id,第二个为参数
        Person person=session.selectOne("test.findPersonByName","dong");
        System.out.println(person);
        session.commit();
        session.close();
   }
}

 

第二种方式:不用写实现类

StudentMapper.xml

      参数表和参数类型要和接口保持一致,id要和接口里的方法保持一致

<mapper namespace="com.mybatis.mapper.StudentMapper>
    <insert id="findPersonByName" resultType="com.dongline.mybatistest.Person" parameterType="java.lang.String"> </insert>
</mapper>

实现类去掉

测试类

package com.dongline.mybatistest;

import java.io.IOException;
import java.io.InputStream;

import javax.annotation.Resource;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

    public static void main(String[] args) throws Exception {
        
        String resource="config/mybatisconfig.xml";
        //通过Resources.getResourceAsStream(resource)获取resource输入流
        InputStream in= Resources.getResourceAsStream(resource);
        //获取SqlSession工厂,这个是会话工厂。
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in);
        //建立我们的会话 session
        SqlSession session=factory.openSession();
        Student student = new Student();
        student.setUsername("rose");
        student.setPassword("888");
        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
        studentMapper.insertStudent(student);
        session.commit();
        session.close();
   }
}

全局配置文件

        修改mapper.xml文件的位置

 

注意:

           全局配置文件通过配置找到mapper文件,mapper文件通过绑定对应的接口找到对应的类,也能够创建代理类了

 

个性签名:一个人在年轻的时候浪费自己的才华与天赋是一件非常可惜的事情

        如果觉得这篇文章对你有小小的帮助的话,记得在左下角点个“👍”哦,博主在此感谢!

 

万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值