Mybatis简单应用(会员后台管理)
这是一个应用了mybatis+servlet+vue.js+elementUI的后台会员管理系统的开发。简单的前后端分离的应用,实现了简单的增删改查功能。
下面是后端的mybatis部分
数据库用的是Oracle数据库,数据库表:

主配置文件
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="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/> <property name="username" value="book_club"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/ustl/dao/MemberMapper.xml"/> </mappers> </configuration>
Member.java
package com.ustl.entity; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; /** * (Member)实体类 * * @author makejava * @since 2021-01-01 20:41:03 */ public class Member { private String memberId; private String name; private String sex; private String phone; private double balance; private int points; private Date birthday; public String getMemberId() { return memberId; } public void setMemberId(String memberId) { this.memberId = memberId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public int getPoints() { return points; } public void setPoints(int points) { this.points = points; } public Date getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = StringToTimeStamp(birthday); } public Timestamp StringToTimeStamp(String time) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); time = df.format(new Date()); Timestamp ts = Timestamp.valueOf(time); return ts; } @Override public String toString() { return "Member{" + "memberId='" + memberId + '\'' + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", phone='" + phone + '\'' + ", balance=" + balance + ", points=" + points + ", birthday=" + birthday + '}'; } }
Mapper部分
MemberMapper.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.ustl.dao.MemberMapper"> <resultMap id="memberMap" type="com.ustl.entity.Member"> <id property="memberId" column="member_id"/> <result property="memberId" column="member_id"/> <result property="birthday" column="birthday" jdbcType="TIMESTAMP"/> </resultMap> <select id="getAllMemberInfo" resultMap="memberMap"> select * from member </select> <select id="getMemberInfoById" resultMap="memberMap"> select * from member where member_id=#{memberId} </select> <select id="getMemberInfoByCondition" resultMap="memberMap"> select * from member limit #{offset},#{rows} </select> <update id="updateInfo" parameterType="com.ustl.entity.Member"> update member set member_id=#{memberId},name=#{name},sex=#{sex},phone=#{phone},birthday=#{birthday}, balance=#{balance},points=#{points} where member_id=#{memberId} </update> <delete id="delMemberInfoById" parameterType="String"> delete from member where member_Id=#{id} </delete> <insert id="addMemberInfo" parameterType="com.ustl.entity.Member"> insert into member values(#{memberId},#{name},#{sex},#{phone},#{birthday},#{balance},#{points}) </insert> </mapper>
MemberMapper.java
package com.ustl.dao; import com.ustl.entity.Member; import org.apache.ibatis.annotations.Param; import java.util.List; public interface MemberMapper { public List<Member> getAllMemberInfo(); public Member getMemberInfoById(String MemberId); public List<Member> getMemberInfoByCondition(@Param("offset") long offset, @Param("rows") int rows); public int updateInfo(Member member); public int delMemberInfoById(String memberId); public int addMemberInfo(Member member); }
Utils部分
MybatisUtils.java
package com.ustl.utils; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { String resource = "Mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public static SqlSessionFactory sqlSessionFactoryInstance() { return sqlSessionFactory; } }
Mybatis简单的测试
Mybatis.java
package com.ustl.test; import com.ustl.dao.MemberMapper; import com.ustl.entity.Member; import com.ustl.utils.MybatisUtils; import org.apache.ibatis.session.SqlSession; import java.util.List; public class MybatisTest { public static void main(String[] args) { SqlSession sqlSession = MybatisUtils.sqlSessionFactoryInstance().openSession(); MemberMapper memberMapper =sqlSession.getMapper(MemberMapper.class); List<Member> members =memberMapper.getAllMemberInfo(); Member member= new Member(); member.setMemberId("0001"); member.setName("1234"); member.setSex("男"); member.setPhone("123456"); member.setBirthday("2020-01-03"); member.setBalance(121); member.setPoints(234); int i = memberMapper.updateInfo(member); sqlSession.commit(); System.out.println(i); for(Object object:members){ System.out.println(object); } sqlSession.close(); } }
以下也提供了一些mybatis的仔细的完整测试代码,也可以用来调试mybatis是否正常使用
package com.ustl.test; import static org.junit.Assert.*; 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.ustl.dao.MemberMapper; import com.ustl.entity.Member; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; public class MybatisTest { @Test public void testConnDB() { Connection conn = null; try { conn = DriverManager .getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL"); PreparedStatement ps = conn.prepareStatement("select * from member"); ResultSet rs = ps.executeQuery(); if (rs.next()) { System.out.println(rs.getString("memberId")); } } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } } @Test public void testMybatisConn() throws Exception { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try(SqlSession session = sqlSessionFactory.openSession()){ MemberMapper mapper = session.getMapper(MemberMapper.class); System.out.println(mapper.getMemberInfoById(1l).getMemberId()); } } @Test public void testMybatisPagination() throws Exception { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try(SqlSession session = sqlSessionFactory.openSession()){ NewsMapper mapper = session.getMapper(MemberMapper.class); List<Member> membersList = mapper. getMemberInfoByCondition(1, 1); System.out.println(membersList.size()); System.out.println(membersList.get(0).getTitle()); } } }
mybatis部分这里就全部完成了

浙公网安备 33010602011771号