mybaties框架(基础)

第一步:

引入需要的jar包


第二步:

1.通过外部配置文件做mybatis的基础性的配置。

1)先在src目录下编写config.properties的文件(做一些动态的配置)。

配置的内容如下:

jdbc.jdbcUrl=jdbc:oracle:thin:@127.0.0.1:1521:orcl

jdbc.driverClass=oracle.jdbc.driver.OracleDriver

jdbc.user=ErpSystem

jdbc.password=123

2)在src目录下编写mybatis-config.xml文件,引入config.properties文件。

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

  <properties resource="config.properties"><!引入外部的配置文件-->

  </properties>

  <environments default="development">

    <environment id="development">

      <transactionManager type="JDBC"/>

      <dataSource type="POOLED">

        <property name="driver" value="${jdbc.jdbcUrl}"/>

        <property name="url" value="${jdbc.driverClass}"/>

        <property name="username" value="${jdbc.user}"/>

        <property name="password" value="${jdbc.password}"/>

      </dataSource>

    </environment>

  </environments>

 

  <mappers>

     <mapper resource="com/gxa/bj/model/UserInfoMapper.xml"/>

  </mappers>

</configuration>

3)在modle层创建数据库对应的实例对象

例:userInfo

public class UserInfo {
private Integer userId;//用户编号
private String userName;//用户姓名
private String userPwd;//用户密码
private String flag;//标示

public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}

}

4)在daoimp层定义一个接口IUser

内容如下:增删改查方法

 public int getInsert(T t) ;
public List<T> getSelect(T t) ;
public T getModel(Object obj) ;
public int getUpdate(T t) ;
public int getDelete(Object obj) ;

5)在dao层定义一个Mapper接口
内容如下:继承imp的接口方法,有了增删改查,也可以在自己里面增加更多的方法,比如模糊查询
public interface UserMapper extends IUser<UserInfo>{
public List<UserInfo> getUsers(String userName);
}

6)在modle层编写一个映射文件userInfoMapper.xml

一个modle对象,就对应一个Mapper.xml

userInfoMapper.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="com.gxa.bj.dao.UserMapper">
   <insert id="getInsert" parameterType="com.gxa.bj.modle.UserInfo">
       insert into UserInfo(userid,username,userpwd,flag)
       values(usernext.nextval,#{userName},#{userPwd},#{flag})
   </insert>
   <delete id="getDelete">
        delete from UserInfo where userId=#{userId}
   </delete>
   <update id="getUpdate" parameterType="com.gxa.bj.modle.UserInfo">
    update UserInfo set username=#{userName},userpwd=#{userPwd},flag=#{flag} Where userid=#{userId}
   </update>
   <select id="getModel" resultType="com.gxa.bj.modle.UserInfo">
    select * From UserInfo Where userid=#{id}
   </select>
<select id="getUsers" parameterType="java.lang.String" resultSets="com.gxa.bj.modle.UserInfo" resultType="com.gxa.bj.modle.UserInfo">
    select * From UserInfo Where userName like '%${value}%'
   </select>
</mapper>

(id里面的名字,一定对应接口方法名,parameterTyoe是参数类型,resultType是返回的类型)resultSets返回集合类型

7)在TestUI里测试,内容如下:

public class TestUi {
public static void main(String[] args) {
String resource = "mybatis-config.xml";
InputStream inputStream=null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
//UserMapper userinfomapper=sqlSession.getMapper(UserMapper.class);
/*
UserInfo u2=new UserInfo();
u2.setUserId(5);
if(userinfomapper.getDelete(u2)>0){
sqlSession.commit();
System.out.println("删除成功");
}else{
sqlSession.rollback();
System.out.println("删除失败");
}
UserInfo u=new UserInfo();
u.setUserName("wudi");
u.setUserPwd("123");
u.setFlag("管理员");
if(userinfomapper.getInsert(u)>0){
sqlSession.commit();
System.out.println("添加成功");
}else{
sqlSession.rollback();
System.out.println("添加失败");
}

Integer userId=2;
UserInfo user=userinfomapper.getModel(userId);
System.out.println("查询到的用户名为:"+user.getUserName());

String userName="zhang";
List<UserInfo> u4=userinfomapper.getUsers(userName);
for(UserInfo us:u4){
System.out.println("查询到的用户权限id为:"+us.getUserId());

UserInfo u3=new UserInfo();
u3.setUserId(2);
u3.setUserName("zhangsan");
u3.setUserPwd("555");
u3.setFlag("超级管理员");
if(userinfomapper.getUpdate(u3)>0){
sqlSession.commit();
System.out.println("修改成功");
}else{
sqlSession.rollback();
System.out.println("修改失败");
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值