现在的位置: 首页 > 综合 > 正文

mybatis 初学 小例子

2013年05月14日 ⁄ 综合 ⁄ 共 3919字 ⁄ 字号 评论关闭

今天终于把它弄清楚了,刚刚学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;
 }
}

 

抱歉!评论已关闭.