mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-20 10:16:13 +10:00
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
|
||||
|
||||
<context:component-scan base-package="com.navercorp.pinpoint.web.dao.memory" />
|
||||
|
||||
</beans>
|
||||
@@ -24,6 +24,8 @@ import com.navercorp.pinpoint.web.vo.User;
|
||||
*/
|
||||
public interface UserDao {
|
||||
|
||||
void dropAndCreateUserTable();
|
||||
|
||||
void insertUser(User user);
|
||||
|
||||
void inserUserList(List<User> users);
|
||||
@@ -42,4 +44,5 @@ public interface UserDao {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright 2014 NAVER Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.navercorp.pinpoint.web.dao.memory;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.navercorp.pinpoint.web.alarm.vo.Rule;
|
||||
import com.navercorp.pinpoint.web.dao.AlarmDao;
|
||||
|
||||
/**
|
||||
* @author minwoo.jung
|
||||
*/
|
||||
@Repository
|
||||
public class MemoryAlarmDao implements AlarmDao {
|
||||
|
||||
private final Map<String, Rule> alarmRule = new ConcurrentHashMap<String, Rule>();
|
||||
private final AtomicInteger ruleIdGenerator = new AtomicInteger();
|
||||
|
||||
@Override
|
||||
public String insertRule(Rule rule) {
|
||||
String ruleId = String.valueOf(ruleIdGenerator.getAndIncrement());
|
||||
rule.setRuleId(ruleId);
|
||||
alarmRule.put(ruleId, rule);
|
||||
return rule.getRuleId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteRule(Rule rule) {
|
||||
alarmRule.remove(rule.getRuleId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteRuleByUserGroupId(String userGroupId) {
|
||||
for (Entry<String, Rule> entry : alarmRule.entrySet()) {
|
||||
if (entry.getValue().getUserGroupId().equals(userGroupId)) {
|
||||
alarmRule.remove(entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Rule> selectRuleByUserGroupId(String userGroupId) {
|
||||
List<Rule> ruleList = new LinkedList<>();
|
||||
|
||||
for (Entry<String, Rule> entry : alarmRule.entrySet()) {
|
||||
if (entry.getValue().getUserGroupId().equals(userGroupId)) {
|
||||
ruleList.add(entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
return ruleList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Rule> selectRuleByApplicationId(String applicationId) {
|
||||
List<Rule> ruleList = new LinkedList<>();
|
||||
|
||||
for (Entry<String, Rule> entry : alarmRule.entrySet()) {
|
||||
if (entry.getValue().getApplicationId().equals(applicationId)) {
|
||||
alarmRule.remove(entry.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
return ruleList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateRule(Rule rule) {
|
||||
alarmRule.put(rule.getRuleId(), rule);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Copyright 2014 NAVER Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.navercorp.pinpoint.web.dao.memory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.navercorp.pinpoint.web.dao.UserDao;
|
||||
import com.navercorp.pinpoint.web.vo.User;
|
||||
|
||||
/**
|
||||
* @author minwoo.jung
|
||||
*/
|
||||
@Repository
|
||||
public class MemoryUserDao implements UserDao {
|
||||
|
||||
private final Map<String, User> users = new ConcurrentHashMap<String, User>();
|
||||
private final AtomicInteger userNumGenerator = new AtomicInteger();
|
||||
|
||||
@Override
|
||||
public void insertUser(User user) {
|
||||
String userNumber = String.valueOf(userNumGenerator.getAndIncrement());
|
||||
user.setNumber(userNumber);
|
||||
users.put(user.getUserId(), user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void inserUserList(List<User> users) {
|
||||
for (User user : users) {
|
||||
String userNumber = String.valueOf(userNumGenerator.getAndIncrement());
|
||||
user.setNumber(userNumber);
|
||||
this.users.put(user.getUserId(), user);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUser(User user) {
|
||||
users.remove(user.getUserId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<User> selectUser() {
|
||||
return new ArrayList<>(users.values());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUser(User user) {
|
||||
users.put(user.getUserId(), user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public User selectUserByUserId(String userId) {
|
||||
return users.get(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<User> selectUserByDepartment(String department) {
|
||||
List<User> userList = new LinkedList<>();
|
||||
|
||||
for (User user : users.values()) {
|
||||
if (department.equals(user.getDepartment())) {
|
||||
userList.add(user);
|
||||
}
|
||||
}
|
||||
|
||||
return userList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<User> selectUserByUserName(String userName) {
|
||||
List<User> userList = new LinkedList<>();
|
||||
|
||||
for (User user : users.values()) {
|
||||
if (userName.equals(user.getName())) {
|
||||
userList.add(user);
|
||||
}
|
||||
}
|
||||
|
||||
return userList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropAndCreateUserTable() {
|
||||
users.clear();
|
||||
userNumGenerator.lazySet(1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
/*
|
||||
* Copyright 2014 NAVER Corp.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.navercorp.pinpoint.web.dao.memory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.navercorp.pinpoint.web.dao.UserDao;
|
||||
import com.navercorp.pinpoint.web.dao.UserGroupDao;
|
||||
import com.navercorp.pinpoint.web.vo.User;
|
||||
import com.navercorp.pinpoint.web.vo.UserGroup;
|
||||
import com.navercorp.pinpoint.web.vo.UserGroupMember;
|
||||
|
||||
/**
|
||||
* @author minwoo.jung
|
||||
*/
|
||||
@Repository
|
||||
public class MemoryUserGroupDao implements UserGroupDao {
|
||||
|
||||
private final Map<String, UserGroup> userGroups = new ConcurrentHashMap<String, UserGroup>();
|
||||
private final Map<String, UserGroupMember> userGroupMembers = new ConcurrentHashMap<String, UserGroupMember>();
|
||||
|
||||
private final AtomicInteger userGroupNumGenerator = new AtomicInteger();
|
||||
private final AtomicInteger userGroupMemNumGenerator = new AtomicInteger();
|
||||
|
||||
@Autowired
|
||||
UserDao userDao;
|
||||
|
||||
@Override
|
||||
public String createUserGroup(UserGroup userGroup) {
|
||||
String userGroupNumber = String.valueOf(userGroupNumGenerator.getAndIncrement());
|
||||
userGroup.setNumber(userGroupNumber);
|
||||
userGroups.put(userGroupNumber, userGroup);
|
||||
return userGroup.getNumber();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserGroup> selectUserGroup() {
|
||||
return new ArrayList<>(userGroups.values());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserGroup(UserGroup userGroup) {
|
||||
userGroups.put(userGroup.getNumber(), userGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUserGroup(UserGroup userGroup) {
|
||||
for(UserGroup ug : userGroups.values()) {
|
||||
if (ug.getId().equals(userGroup.getId())) {
|
||||
userGroups.remove(ug.getNumber());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertMember(UserGroupMember userGroupMember) {
|
||||
String memberNum = String.valueOf(userGroupMemNumGenerator.getAndIncrement());
|
||||
userGroupMember.setNumber(memberNum);
|
||||
userGroupMembers.put(memberNum, userGroupMember);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteMember(UserGroupMember userGroupMember) {
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(userGroupMember.getUserGroupId()) && member.getMemberId().equals(userGroupMember.getMemberId())) {
|
||||
userGroupMembers.remove(member.getNumber());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserGroupMember> selectMember(String userGroupId) {
|
||||
List<UserGroupMember> userGroupMemberList = new LinkedList<>();
|
||||
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(userGroupId)) {
|
||||
userGroupMemberList.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
return userGroupMemberList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMember(UserGroupMember userGroupMember) {
|
||||
userGroupMembers.put(userGroupMember.getNumber(), userGroupMember);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteMemberByUserGroupId(String userGroupId) {
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(userGroupId)) {
|
||||
userGroupMembers.remove(userGroupId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> selectPhoneNumberOfMember(String userGroupId) {
|
||||
List<UserGroupMember> userGroupMemberList = new LinkedList<>();
|
||||
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(userGroupId)) {
|
||||
userGroupMemberList.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> phoneNumbers = new LinkedList<>();
|
||||
|
||||
for (UserGroupMember member : userGroupMemberList) {
|
||||
User user = userDao.selectUserByUserId(member.getMemberId());
|
||||
phoneNumbers.add(user.getPhoneNumber());
|
||||
}
|
||||
|
||||
return phoneNumbers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> selectEmailOfMember(String userGroupId) {
|
||||
List<UserGroupMember> userGroupMemberList = new LinkedList<>();
|
||||
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(userGroupId)) {
|
||||
userGroupMemberList.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> emails = new LinkedList<>();
|
||||
|
||||
for (UserGroupMember member : userGroupMemberList) {
|
||||
User user = userDao.selectUserByUserId(member.getMemberId());
|
||||
emails.add(user.getEmail());
|
||||
}
|
||||
|
||||
return emails;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserGroupIdOfMember(UserGroup userGroup) {
|
||||
UserGroup group = userGroups.get(userGroup.getNumber());
|
||||
|
||||
for (UserGroupMember member : userGroupMembers.values()) {
|
||||
if (member.getUserGroupId().equals(group.getId())) {
|
||||
member.setUserGroupId(userGroup.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -77,4 +77,10 @@ public class MysqlUserDao implements UserDao {
|
||||
public List<User> selectUserByUserName(String userName) {
|
||||
return sqlSessionTemplate.selectList(NAMESPACE + "selectUserByUserName", userName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropAndCreateUserTable() {
|
||||
sqlSessionTemplate.selectOne(NAMESPACE + "dropAndCreateUserTable");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class MysqlUserGroupDao implements UserGroupDao {
|
||||
|
||||
@Override
|
||||
public void updateMember(UserGroupMember userGroupMember) {
|
||||
sqlSessionTemplate.delete(NAMESPACE + "updateMember", userGroupMember);
|
||||
sqlSessionTemplate.update(NAMESPACE + "updateMember", userGroupMember);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -61,7 +61,6 @@ public class UserGroupServiceImpl implements UserGroupService {
|
||||
@Override
|
||||
public void deleteMember(UserGroupMember userGroupMember) {
|
||||
userGroupDao.deleteMember(userGroupMember);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,6 +24,8 @@ import com.navercorp.pinpoint.web.vo.User;
|
||||
*/
|
||||
public interface UserService {
|
||||
|
||||
void dropAndCreateUserTable();
|
||||
|
||||
void insertUser(User user);
|
||||
|
||||
void deleteUser(User user);
|
||||
|
||||
@@ -68,4 +68,9 @@ public class UserServiceImpl implements UserService {
|
||||
return userDao.selectUserByDepartment(department);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropAndCreateUserTable() {
|
||||
userDao.dropAndCreateUserTable();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.navercorp.pinpoint.web.vo;
|
||||
public class UserGroupMember {
|
||||
|
||||
private String number;
|
||||
|
||||
private String userGroupId;
|
||||
private String memberId;
|
||||
private String name;
|
||||
|
||||
@@ -1,75 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
|
||||
">
|
||||
|
||||
<!-- Transaction manager for a single JDBC DataSource -->
|
||||
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
</bean>
|
||||
|
||||
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
|
||||
<tx:attributes>
|
||||
<tx:method name="select*" read-only="true" />
|
||||
<tx:method name="read*" read-only="true" />
|
||||
<tx:method name="get*" read-only="true" />
|
||||
<tx:method name="view*"/>
|
||||
<tx:method name="list*"/>
|
||||
<tx:method name="add*"/>
|
||||
<tx:method name="create*"/>
|
||||
<tx:method name="delete*"/>
|
||||
<tx:method name="update*"/>
|
||||
</tx:attributes>
|
||||
</tx:advice>
|
||||
|
||||
|
||||
<!-- SqlsessionFactory setup for MyBatis Database Layer -->
|
||||
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
|
||||
<!-- mybatis basic config -->
|
||||
<property name="configLocation" value="classpath:/mybatis-config.xml"/>
|
||||
|
||||
<!-- typeAliases -->
|
||||
<property name="typeAliasesPackage" value="com.navercorp.pinpoint.web.alarm.vo" />
|
||||
|
||||
<!-- setting the location of mapper -->
|
||||
<property name="mapperLocations" value="classpath:/mapper/*Mapper.xml"/>
|
||||
|
||||
<!-- set "true" in order to catch the errors of declaration of statement more quickly -->
|
||||
<property name="failFast" value="true"/>
|
||||
|
||||
<property name="plugins">
|
||||
<list>
|
||||
<!-- use the patch version because of mybatis 3.2's incompatibility-->
|
||||
<bean class="com.navercorp.pinpoint.web.dao.ibatis.BindingLogPlugin32"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- in case of using interface mapper
|
||||
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
|
||||
<property name="basePackage" value="com.navercorp.pinpoint.web.mapper.mysql" />
|
||||
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
|
||||
</bean>
|
||||
-->
|
||||
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
|
||||
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
|
||||
</bean>
|
||||
|
||||
<!-- setting of executorType for batch -->
|
||||
<bean id="batchSqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
|
||||
<constructor-arg index="0" ref="sqlSessionFactory"/>
|
||||
<constructor-arg index="1" value="BATCH"/>
|
||||
</bean>
|
||||
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
|
||||
<property name="transactionManager" ref="transactionManager"/>
|
||||
</bean>
|
||||
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:context="http://www.springframework.org/schema/context"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
|
||||
|
||||
<context:component-scan base-package="com.navercorp.pinpoint.web.dao.mysql" />
|
||||
|
||||
<!-- Transaction manager for a single JDBC DataSource -->
|
||||
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
</bean>
|
||||
|
||||
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
|
||||
<tx:attributes>
|
||||
<tx:method name="select*" read-only="true" />
|
||||
<tx:method name="read*" read-only="true" />
|
||||
<tx:method name="get*" read-only="true" />
|
||||
<tx:method name="view*"/>
|
||||
<tx:method name="list*"/>
|
||||
<tx:method name="add*"/>
|
||||
<tx:method name="create*"/>
|
||||
<tx:method name="delete*"/>
|
||||
<tx:method name="update*"/>
|
||||
</tx:attributes>
|
||||
</tx:advice>
|
||||
|
||||
|
||||
<!-- SqlsessionFactory setup for MyBatis Database Layer -->
|
||||
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
|
||||
<!-- mybatis basic config -->
|
||||
<property name="configLocation" value="classpath:/mybatis-config.xml"/>
|
||||
|
||||
<!-- typeAliases -->
|
||||
<property name="typeAliasesPackage" value="com.navercorp.pinpoint.web.alarm.vo" />
|
||||
|
||||
<!-- setting the location of mapper -->
|
||||
<property name="mapperLocations" value="classpath:/mapper/*Mapper.xml"/>
|
||||
|
||||
<!-- set "true" in order to catch the errors of declaration of statement more quickly -->
|
||||
<property name="failFast" value="true"/>
|
||||
|
||||
<property name="plugins">
|
||||
<list>
|
||||
<!-- use the patch version because of mybatis 3.2's incompatibility-->
|
||||
<bean class="com.navercorp.pinpoint.web.dao.ibatis.BindingLogPlugin32"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- in case of using interface mapper
|
||||
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
|
||||
<property name="basePackage" value="com.navercorp.pinpoint.web.mapper.mysql" />
|
||||
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
|
||||
</bean>
|
||||
-->
|
||||
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
|
||||
<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
|
||||
</bean>
|
||||
|
||||
<!-- setting of executorType for batch -->
|
||||
<bean id="batchSqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
|
||||
<constructor-arg index="0" ref="sqlSessionFactory"/>
|
||||
<constructor-arg index="1" value="BATCH"/>
|
||||
</bean>
|
||||
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">
|
||||
<property name="transactionManager" ref="transactionManager"/>
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
||||
@@ -24,7 +24,6 @@
|
||||
-->
|
||||
|
||||
<context:component-scan base-package="com.navercorp.pinpoint.web.dao.hbase,
|
||||
com.navercorp.pinpoint.web.dao.mysql,
|
||||
com.navercorp.pinpoint.web.service,
|
||||
com.navercorp.pinpoint.web.mapper,
|
||||
com.navercorp.pinpoint.web.filter,
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<select id="selectMemberList" resultType="UserGroupMember">
|
||||
SELECT a.user_group_id, a.member_id, b.name, b.department
|
||||
FROM user_group_member a
|
||||
INNER JOIN user b ON a.member_id = b.user_id
|
||||
INNER JOIN puser b ON a.member_id = b.user_id
|
||||
WHERE a.user_group_id = #{userGroupId}
|
||||
</select>
|
||||
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
|
||||
<mapper namespace="com.navercorp.pinpoint.web.dao.UserDao">
|
||||
|
||||
<select id="dropAndCreateUserTable">
|
||||
TRUNCATE puser;
|
||||
</select>
|
||||
|
||||
<insert id="insertUser" parameterType="User">
|
||||
INSERT INTO puser (user_id, name, department, phonenumber, email)
|
||||
VALUES (#{userId}, #{name}, #{department}, #{phoneNumber}, #{email})
|
||||
|
||||
Reference in New Issue
Block a user