mybatis 初学 小例子

    技术2022-05-19  28

    今天终于把它弄清楚了,刚刚学java,挺费劲呀。

    在mysql中创建一个数据库mygps,表名为test(id,age,username,password)

    (1)先引用mybatis-3.0.2.jar,mysql-connector-java-5.0.8-bin.jar

    (2)配置连接数据库xml文件取名叫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/mygps"/>//数据库名为mypgs     <property name="username" value="root"/>     <property name="password" value="root"/>    </dataSource>   </environment>  </environments> <mappers>  <mapper resource="org/mybatis/test/testmapper.xml"/>//写sql语句的xml </mappers> </configuration>

    (3)配置sql语句的xml取名叫testmapper.xml

    <?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 ">

    <mapper namespace="testmapper">  <select id="selectbyid" parameterType="int" resultType="org.mybatis.test.test">//test为一个类,用于设置与数据库有关的数据类型   select * from test where test.id=#{id}  </select>  <insert id="insertvalues" parameterType="org.mybatis.test.test">      insert into test (id,username,password,age) values (#{id},#{username},#{password},#{age})  </insert>  <update id="updatevalue" parameterType="org.mybatis.test.test">      update test set username=#{username} where id=#{id}     </update>

    </mapper>

    (4)取出数据库的连接取名叫util 是一个类

    package org.mybatis.test;

    import java.io.IOException; import java.io.Reader;

    import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class util {

     public static SqlSessionFactory sqlmapper=null;

     static  {   String rs="org/mybatis/test/config.xml";//为第二步中的配置文件名   Reader reader=null;   try   {       reader=Resources.getResourceAsReader(rs);

      }   catch(IOException e)   {    e.printStackTrace();   }   sqlmapper=new SqlSessionFactoryBuilder().build(reader);  }  public static SqlSessionFactory getSqlSessionFactory()  {         return sqlmapper;  } } (5)执行sql语句取名叫getTest 是一个类

    package org.mybatis.test; import org.mybatis.test.util; import org.mybatis.test.test; import org.apache.ibatis.session.SqlSession; public class getTest {

     public test  getvalue(int id)  {   SqlSession session=  util.getSqlSessionFactory().openSession();        test ts=null;        try        {     ts=(test)session.selectOne("testmapper.selectbyid",id);//为第三步中配置文件中的select id

           }   catch(Exception e)   {    e.printStackTrace();   }   finally   {    session.close();   }   return ts;

     }  public void insertvalue(int id, String username,String password,int age)  {      SqlSession session=  util.getSqlSessionFactory().openSession();         test ts=new test();         ts.SetID(id);         ts.SetUserName(username);         ts.SetPassWord(password);         ts.SetAge(age);         try         {     session.selectOne("testmapper.insertvalues",ts);)//为第三步中配置文件中的insert id

            }    catch(Exception e)    {     e.printStackTrace();    }    finally    {     session.close();    }  }  public void updatevalue(int id,String username)  {      SqlSession session=  util.getSqlSessionFactory().openSession();         test ts=new test();         ts.SetID(id);         ts.SetUserName(username);         try         {         session.selectOne("testmapper.updatevalue",ts);)//为第三步中配置文件中的update id         }    catch(Exception e)    {     e.printStackTrace();    }    finally    {     session.close();    }  }

    } (6)为数据源编写test类

    package org.mybatis.test;

    public class test { private int id; private int age; private String username; private String password;

     public int getID()  {   return this.id;  }  public void SetID(int id)  {  this.id=id;  }

     public int getAge()  {   return this.age ;  }  public void SetAge(int age)  {      this.age=age;  }

     public String getUserName()  {   return this.username ;  }  public void SetUserName(String username)  {  this.username =username;  }

     

    public String getPassWord()  {   return this.password ;  }  public void SetPassWord(String password)  {     this.password =password;  } }

     


    最新回复(0)