-
49일 차 MyBatis 만든 것 자료삼성SDS_멀티캠퍼스/MyBatis 2015. 11. 17. 14:08반응형
필요하신분은 잘 쓰시길 바랍니다.
우선 empdeptsample.sql을 다운받고 (저는 C드라이브에 넣어놨습니다)
source C:\empdeptsample.sql를
mysql Cmd에 입력합니다.
여기서 C:\는 경로이므로 자신의 위치에 따라 얼마든지 달라질 수 있습니다.
그리고 zip파일을 이클립스에서 임포트 시킨 후 사용하시면 됩니다.
<pom.xml>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyBatis01_Ex</groupId>
<artifactId>MyBatis01_Ex</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<myBatis_version>3.3.0</myBatis_version>
<mysql_version>5.1.35</mysql_version>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${myBatis_version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql_version}</version>
</dependency>
</dependencies>
</project>
<configuration.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>
<typeAliases>
<typeAlias type="model.Emp" alias="emp" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="MANAGED"></transactionManager>
<dataSource type="UNPOOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/sds2" />
<property name="username" value="root" />
<property name="password" value="mysql" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="dao/mapper/EmpMapper.xml" />
</mappers>
</configuration>
<Emp.java>
package model;
import java.util.Date;
public class Emp {
private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private double sal;
private double comm;
private int deptno;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public int getMgr() {
return mgr;
}
public void setMgr(int mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
public double getComm() {
return comm;
}
public void setComm(double comm) {
this.comm = comm;
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
}
@Override
public String toString() {
return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", mgr=" + mgr + ", hiredate=" + hiredate
+ ", sal=" + sal + ", comm=" + comm + ", deptno=" + deptno + "]";
}
}
<EmpDao.java>
package dao;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 model.Emp;
public class EmpDao {
private static EmpDao instance;
private SqlSessionFactory sqlSessionFactory;
private static final String NAMESPACE = "dao.mapper.EmpMapper.";
private EmpDao() {
try {
InputStream inputStream = Resources.getResourceAsStream("configuration.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
System.out.println("session 빌드 실패");
}
}
public static EmpDao getInstance() {
if (instance == null)
instance = new EmpDao();
return instance;
}
public int insertEmp(Emp emp) {
SqlSession session = sqlSessionFactory.openSession();
try {
return session.insert(NAMESPACE + "insertEmp", emp);
} finally {
session.close();
}
}
public int updateEmp(Emp emp) {
SqlSession session = sqlSessionFactory.openSession();
try {
return session.update(NAMESPACE + "updateEmp", emp);
} finally {
session.close();
}
}
public int deleteEmp(int empno) {
SqlSession session = sqlSessionFactory.openSession();
try {
return session.delete(NAMESPACE + "deleteEmp", empno);
} finally {
session.close();
}
}
public Emp selectOne(int empno) {
SqlSession session = sqlSessionFactory.openSession();
try {
return session.selectOne(NAMESPACE + "selectOne", empno);
} finally {
session.close();
}
}
public List<Emp> selectAll() {
SqlSession session = sqlSessionFactory.openSession();
try {
return session.selectList(NAMESPACE + "selectAll");
} finally {
session.close();
}
}
}
<EmpMapper.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="dao.mapper.EmpMapper">
<insert id="insertEmp" parameterType="emp">
insert into emp values(
#{empno}, #{ename}, #{job}, #{mgr}, #{hiredate}, #{sal}, #{comm},
#{deptno} )
</insert>
<update id="updateEmp" parameterType="emp">
update emp set ename =
#{ename}, job = #{job}, mgr=#{mgr}, sal = #{sal}, comm=#{comm},
deptno=#{deptno} where empno= #{empno}
</update>
<delete id="deleteEmp" parameterType="int">
delete from emp where
empno
= #{ empno }
</delete>
<select id="selectOne" parameterType="int" resultType="emp">
select *
from emp where empno = #{ empno }
</select>
<select id="selectAll" resultType="emp">
select * from emp
</select>
</mapper>
실행시키는 클래스들은 너무 뻔하기 때문에
따로 적지는 않았습니다만, 전체조회만 예시로 올립니다.
필요하신 분들은 zip파일 여시면 실행시키는 클래스들 까지 있으니 사용하시면 됩니다.
반응형'삼성SDS_멀티캠퍼스 > MyBatis' 카테고리의 다른 글
52일 차 MyBatis와 Spring 연동 (0) 2015.11.20 51일 차 MyBatis resultMap (0) 2015.11.19 50일 차 MyBatis 에노테이션과 xml을 혼용하기 (0) 2015.11.18 50일 차 MyBatis 인터페이스를 사용한 매핑정보(에노테이션 사용) (0) 2015.11.18 49일 차 MyBatis (0) 2015.11.17