2021-08-04

SSM框架——第一个myBatis程序

1.1导入所需要的包
在这里插入图片描述

加入log4j日志文件

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=info, stdout

1.2建立数据库:

create table t_customer(
  id int primary key identity(1,1) ,
  name varchar(20),
  gender char(20),
  telephone varchar(20),
  address varchar(50)
);

1.3建立实体类

package com.lxy.domain;

public class Customer {
    private Integer id;
    private String name;
    private String gender;
    private String telephone;
    private String address;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public String getTelephone() {
		return telephone;
	}
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
    
}

1.4 建立Mapper接口

package com.lxy.dao;

import com.lxy.domain.Customer;

public interface CustomerMapper {
//   添加用户
	public void saveCustomer(Customer customer);
}

1.5 建立sql映射文件

<?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">
<!-- 该文件编写mybatis中的mapper接口里面的方法提供对应的sql语句
   注:namespace的包和类名要相同,id名字要与dao路径下面的方法名相同
 -->
<mapper namespace="com.lxy.dao.CustomerMapper">
  <!-- 添加用户 -->  
  <insert id="saveCustomer" parameterType="com.lxy.domain.Customer" >
  Insert into t_customer(name,gender,telephone,address)
  values(#{name},#{gender},#{telephone},#{address})
  </insert>
</mapper>

1.6,编写核心配置 sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//myabtis.org//DTD Config 3.0//En"
        "http://mabatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 与spring整合之后environments配置会被废除 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
            <!-- 数据库名字和用户名,密码皆为而自己设置的 -->
                <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
                <property name="url" value="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ssm"/>
                <property name="username" value="sa"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
<!--    每一个Mapper.XML都需要在Mybatis核心配置文件中注册-->
    <mappers>
        <mapper  resource="mapper/CustomerMapper.xml"/>
    </mappers>
</configuration>

1.7编写Test测试类

package com.lxy.test;

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

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

import com.lxy.dao.CustomerMapper;
import com.lxy.domain.Customer;

public class MyBatisTest {
  @Test
  public void test() throws Exception  {
	  //1,创建一个sqlsessionFactoryBulider
	  SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
	  
	  //2,加载sqlMapConfig.xml文件
	  InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
	  
	  //3,创建一个sqlsessionFactory
	  SqlSessionFactory factory= builder.build(in);
	  
	  //4,打开SqlSession
	  SqlSession sqlSession =factory.openSession();
	  
	  //5,获取Mapper接口的对象
	  CustomerMapper customerMapper= sqlSession.getMapper(CustomerMapper.class);
	  
	  //6,操作
	  Customer customer =new Customer();
	  customer.setName("小严");
	  customer.setGender("女");
	  customer.setTelephone("111111");
	  customer.setAddress("ahdx");
	  customerMapper.saveCustomer(customer);
	  
	  
	  //7,提交事务
	  sqlSession.commit();
	  
	  //8,关闭资源
      sqlSession.close();
  }
}

``运行结果:
`![在这里插入图片描述](https://img-blog.csdnimg.cn/113693c4214f4f608d96b06c60462555.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pvdHkx,size_16,color_FFFFFF,t_70)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值